我想了解Scala for循環隱式框/行動的「數值」類型的行爲。爲什麼這兩個首先失敗,而不是其餘?Scala的行爲/理解數值類型的隱式轉換?
1)失敗:
scala> for (i:Long <- 0 to 10000000L) {}
<console>:19: error: type mismatch;<br>
found : Long(10000000L)
required: Int
for (i:Long <- 0 to 10000000L) {}
^
2>失敗:
scala> for (i <- 0 to 10000000L) {}
<console>:19: error: type mismatch;
found : Long(10000000L)
required: Int
for (i <- 0 to 10000000L) {}
^
3)工作原理:
scala> for (i:Long <- 0L to 10000000L) {}
4)工作原理:
scala> for (i <- 0L to 10000000L) {}
在REPL或編譯器中是否有選項可用於從「for/comprehension」生成「de-shugard」輸出? – IODEV 2012-03-27 12:53:16
是的,你可以使用'scalac -print'。 – drexin 2012-03-27 12:55:52
謝謝,REPL的任何類似選項/開關? – IODEV 2012-03-27 13:26:12