2014-11-08 41 views
0

我想從Scala的標準輸入中讀取"x y"表格的輸入行,並將y僅分配給var。這是我到目前爲止有:閱讀Scala中的第二個值

val Array(_, t) = readLine.split(" ").map(_.toInt)

這看起來很醜陋,但。我試過val t = readLine.split(" ").map(_.toInt)(1),但是編譯器在我嘗試這個時抱怨。如果有比使用Array更清潔的解決方案,我真的很感謝幫助。謝謝!

回答

2

當字符串包含有效數據時,您的解決方案val Array(_, t) = readLine.split(" ").map(_.toInt)是可以的。

如果你知道第二個令牌是有效利用這樣的:

val t = line.split(" ")(1).toInt 
+0

謝謝!爲了澄清,爲什麼'map'後面的'(1)'不起作用? – Impossibility 2014-11-08 06:20:07

+0

@不可能'split'返回'Array'。 '(1)'表示獲取索引爲1的元素。 – 2014-11-08 06:21:01

+1

@不可能Scala編譯器將'(1)'定義爲'map'方法的隱式參數。 – 2014-11-08 06:26:45