【问题标题】:Initailzing variable in scala template在scala模板中初始化变量
【发布时间】:2013-11-30 18:54:36
【问题描述】:

我在 scala 模板中有一个简单的代码用于 Play

@( val i = 0){
.......
....

i => i+1; // incremental 
}

但是上面的代码不知道如何解决这个问题?

【问题讨论】:

    标签: playframework-2.0 scala-template


    【解决方案1】:

    可以在 Scala for 循环中获取迭代索引,只需 zipWithIndex 您的集合:

    @for((day, index) <- model.days.zipWithIndex) {
        <li>Day @index is @day</li>
    }
    

    点赞described in other question

    【讨论】:

      【解决方案2】:

      Scala for 循环与 Java for 循环不同。没有递增的循环索引,而是从序列中获取连续值。所以你想要的循环是这样的:

      for(i <- 0 until 10) {
        ...
      }
      

      在 Play 模板中,上述循环如下所示:

      @for(i <- 0 until 10) {
         <p>number: @i</p>
      }
      

      上面循环中的序列是0 until 10,实际上是一个范围。如果您想使用i 在数组中查找值,请不要这样做。而是直接从数组中获取元素:

      @for(element <- myArray) {
        <p>@element</p>
      }
      

      【讨论】:

      • 谢谢!明白了 :) 问题是我已经看起来像 @for(day
      猜你喜欢
      • 2019-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-22
      • 1970-01-01
      相关资源
      最近更新 更多