加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 迭代设置为Play Framework

发布时间:2020-12-16 18:24:54 所属栏目:安全 来源:网络整理
导读:我使用字符串传递我的模板TreeSet.但是,当我像这样循环遍历集合时: @(usernames : TreeSet[String])@for( name - usernames){ @name,} 但是,名称永远不会以正确的顺序打印. 如何在模板中迭代我的设置并按顺序打印名称? 解决方法 这与Scala模板的工作方式有
我使用字符串传递我的模板TreeSet.但是,当我像这样循环遍历集合时:

@(usernames : TreeSet[String])
@for( name <- usernames){
    @name,}

但是,名称永远不会以正确的顺序打印.

如何在模板中迭代我的设置并按顺序打印名称?

解决方法

这与Scala模板的工作方式有关.我怀疑你的TreeSet集合在引擎盖下映射到不同的集合,因此不保留排序.

Scala for循环的行为与Scala模板中的for循环之间明显不同.如果您将代码作为常规Scala代码运行,那么TreeSet的顺序显然会被保留:

val users = TreeSet("foo","bar","zzz","abc")    
for (user <- users) {
  println(user)
}

解决此问题的方法之一是在Scala模板中使用迭代器:

@for(name <- usernames.iterator) {
  @name,}

或将TreeSet转换为序列:

@for(name <- usernames.toSeq) {
  @name,}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读