![](/img/trans.png)
[英]Eclipse Scala Worksheet error value is not a member of object
[英]Error: value is not a member of object using Scala on the shell
您好,我有這個scala對象,我想使用帶有scala的外殼在sample
函數中運行代碼:
object SampleObject{
def sample(){
val data = Array(1, 2, 3, 4, 5)
data.foreach(println(_))
}
}
我是這個
scala> :load /Users/username/Desktop/Cli.scala
Loading /Users/username/Desktop/Cli.scala...
defined object SampleObject
但是如果我運行這個
scala> SampleObject.sample
我就是這個
<console>:92: error: value sample is not a member of object SampleObject
SampleObject.sample
為什么會這樣? 命令:load和-i存在問題,就像您無法訪問對象成員一樣。 有什么建議可以使其正常工作嗎?
UPDATE1:如果我在上面執行的代碼既不執行load也不執行-i,而是直接將其編寫在shell上,則一切正常。
問題在於大括號之前是換行符。 您可以通過以下兩種方法之一解決此問題:
:paste
代替:load
您最初的問題是object SampleObject{
但事實證明它不是您的實際文件所包含的對象,如更新2所示。 因為:load
逐行工作,就像解釋器看到您在REPL上鍵入時一樣
object Cli做到了:這是一個(不是很有趣的)對象的完全有效,完整的Scala聲明。 下一行的左括號將啟動一個新塊,該新塊與您剛定義的對象無關。
這是一個交互式REPL的行為與編譯器不同的區域,它將在括號前使用一個換行符(有關詳細信息,請參見Scala語言規范)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.