2017-09-05 39 views
0

得到了一個奇怪的scala for-loop問題。我的目標是輸出一個飼料日的列表,如'A-20170531'。代碼非常簡單,但是當我在Intellij中運行它時,第二個輸出缺少提要,它會像' - 20170531'。然後我將代碼複製到scala shell,它按預期工作。scala嵌套for-loop不能正常工作

任何想法?

var feeds = 
    """ 
     |A 
     |B 
     |C  
    """.stripMargin 

    var days = 
    """ 
     |20170531 
     |20170601 
    """.stripMargin 
    var dayArr = days.split("\n").filter(_.trim.length != 0) 
    var feedArr = feeds.split("\n").filter(_.trim.length != 0) 
    System.out.println("feed size:"+feedArr.length ) 

    for{ 
    feed <- feedArr 
    } { 
    System.out.println(feed) 
    } 

    for{ 
    feed <- feedArr 
    day1 <- dayArr 
    } { 
    System.out.println(feed+"--"+day1) 
    } 

謝謝。

回答

0

無法重現。 Scala 2.12.3,IntelliJ IDEA 2017.2.3(Build#IU-172.3968.16,建於2017年8月22日)。 輸出:

feed size:3 
A 
B 
C 
A--20170531 
A--20170601 
B--20170531 
B--20170601 
C--20170531 
C--20170601 

什麼是您的Scala和IntelliJ?


仍不能使用Scala 2.10.6複製和各

  • 的IntelliJ IDEA 2016年1月4日的(內部版本號IU-145.2070,建於2016年8月2日)

  • 的IntelliJ IDEA 2016年1月3日(建設#IU-145.1617,建2016年6月3日)

我沒有2016年1月2日。

看起來像一些奇怪的錯誤。嘗試更新您的IntelliJ。

+0

斯卡拉是2.10。 IDE是IntelliJ IDEA 2016.1.2 構建#IU-145.971,構建於2016年4月29日 JRE:1.8.0_77-b03 x86 JVM:Oracle公司的Java HotSpot™服務器虛擬機 – user1615666

+0

@ user1615666是否嘗試更新你的IntelliJ?它有幫助嗎? –