接收“未找到:值”甚至变量都是定义的

时间:2014-02-07 12:04:57

标签: scala variables playframework

即使定义了变量,我也会收到not found: value counter。 对此有何帮助?我是斯卡拉的新手,一切都是我的眼睛。感谢

@{def counter = 0}
@for(atg <- Activity.groupContiguous(activityGroup)) {
  @if(!atg.isEmpty) {
    @views.html.activity.activityTypeGroup(atg, counter))
  }
  counter = counter + 1
}

2 个答案:

答案 0 :(得分:3)

您的代码不起作用,因为@{def counter = 0}未在模板范围内定义任何内容并返回Unit。我不知道在scala模板中定义可变变量的任何方便方法,实际上这是不鼓励的。

可以使用功能方法轻松重写代码:

@for((atg, counter) <- Activity.groupContiguous(activityGroup).filterNot(_.isEmpty).zipWithIndex) {
  @views.html.activity.activityTypeGroup(atg, counter))
}

答案 1 :(得分:0)

查看其他类似问题,您可以使用zipWithIndex https://stackoverflow.com/a/14613877/1066240

解决此问题

你会发现其他有用的例子。