2012-03-09 63 views
4

是否可以在scala中爲數組的項目創建別名?下面的代碼將不起作用,但類似的東西。你可以爲scala中的另一個變量創建別名嗎?

var str=new ArrayBuffer[String](10) 
def alias = str(1) 
alias="test" 
print(alias) 

下面的代碼工作,基本上我想用上面的代碼。但是我不想每次使用這個變量都輸入str(ALIAS)。我想較短的名稱

var str=new ArrayBuffer[String](10) 
val ALIAS=1 
str(ALIAS) = "test" 
print(str(ALIAS)) 

回答

4

只需使用一個標準的制定者語法:

var str= Array("a", "b", "c") 

def alias = str(1) 
def alias_=(s: String) { 
    str(1) = s 
} 

alias = "test" 
print(alias) 
+0

謝謝,這會是不錯的。 – Elonoa 2012-03-09 23:44:24

+1

我準確運行該代碼,並得到:'階>別名= 「測試」 :9:錯誤:值alias_ =不是對象$ IW 別名= 「測試」 ^' – nicerobot 2012-03-09 23:51:03

+1

@nicerobot的成員:對於一些因爲它在REPL中不起作用,但編譯時工作正常。 – 2012-03-10 12:33:07

相關問題