當前位置:
首頁 > 最新 > 你為什麼總找不到對象

你為什麼總找不到對象

不知道某個時間點,你是否會對著美顏相機中的自己顧影自憐,這麼帥,這麼有才華,為何還找不著對象呢?這個不是我能解決的問題。今天我們要給大家解決的技術問題是「Object not found」的問題。

命令行操作

在文本界面工作中,經常會遇到各種找不到的問題,比如在Linux命令行中找不到命令,找不到目錄文件,在R中找不到對象,找不到函數,在Perl或者python中,找不到某個變數,找不到某個函數等,這類問題核心其實都類似,就是計算機或者軟體中沒有預先定義。下面我們分別來說明。

Object not found

R語言屬於面向對象編程,不是在你男(女)朋友前面繼續寫程序。這是另一種區別於面向過程編程,裡面涉及類,對象,屬性,方法等幾個重要概念。在R中,所有的變數,函數等都稱為Object。如果沒有提前定義某個變數,就會提示這個錯誤。

直接a+b沒有問題,這兩個變數都提前定義了,如果直接 a+d,就會提示錯誤,因為沒有定義變數d。

當出現這種問題的時候,就是這個變數沒有被賦值,可能是沒有被定義,也可能是前面代碼出錯,沒有賦值成功。「could not find function 」的錯誤與之類似。

No such file or directory

這個錯誤經常出現在Linux命令行操作中,我相信所有使用Linux的人都會犯過這個錯誤。這個就需要了解Linux系統的目錄結構。由於我們使用windows太久了,已經習慣windows系統C盤,D盤,E盤的分區模式了,剛開始學習Linux目錄結構非常不適應。在Linux系統下,如果文件路徑寫錯了,就會提示這個錯誤。

那麼這個錯誤如何解決呢。方法就是找到文件所在的正確目錄,盡量使用Tab鍵補齊,這樣一方面省去敲很多字母的麻煩,更重要的是,如果補齊就說明文件存在,不會出錯。

command not found

這個錯誤也是Linux系統操作中經常出現的問題。一種原因是命令寫錯了,比如單詞拼錯了,或者大小寫寫出了,或者把命令和選項寫在一起了。另外一個原因就是沒有將命令所在目錄,添加到系統目錄中。

操作系統是如何識別哪些命令可是使用,哪些不能使用呢。它是使用環境變數的方法。系統會內置一個PATH變數,它是Linux系統中的一些特殊目錄,比如目錄a,b,c,也就是索引的目錄。當你敲一個命令的時候,比如bwa,操作系統會首先在a目錄中搜索,是否有名字為a的可執行文件,如果沒有,就繼續到b目錄中搜索,以此類推搜索c目錄,如果所有目錄中都沒有,那麼就提示「command not found」。

如何解決這種問題呢,其實也不難,將你程序所在目錄添加到系統的PATH變數中。或者將可執行程序ln -s軟鏈接到PATH變數中的一個目錄即可。

---------- END ----------

(添加作者微信,備註好單位+姓名)

您可能還會感興趣的

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 基因學苑 的精彩文章:

TAG:基因學苑 |