小编Mat*_*ing的帖子

如何在scala构造函数中声明类型别名?

如果我有一个类在其构造函数中采用元组和其他值,例如:

class Foo(a: Int, b: String, c: (Int, String)) 
Run Code Online (Sandbox Code Playgroud)

如何使用抽象类型以轻量级方式为元组提供更具描述性的名称(不将其包装在新类中):

class Foo(a: Int, b: String, c: Dave) 
Run Code Online (Sandbox Code Playgroud)

我不确定如何在范围内引入类型别名(或者如果这是最好的事情):

type Dave = (Int, String) 
Run Code Online (Sandbox Code Playgroud)

是否存在以这种方式定义类型的约定(或者我应该定义案例类并包装所有内容......)?

我很欣赏它在很多情况下没有意义,但如果我真的只是在寻找一个更具描述性的名字,那么它有可能吗?

谢谢!

types scala class case abstract

16
推荐指数
1
解决办法
9607
查看次数

在Play Framework模板中使用JavaScript中的花括号

我已经通过了我从控制器传递的标题列表:

@titles:List[String]
Run Code Online (Sandbox Code Playgroud)

我想循环生成一些html标题,其中{mmm}出现在:

@titles.map { title =>
  <h1>{title} {mmm}</h1>
}
Run Code Online (Sandbox Code Playgroud)

显然有一个问题,因为它会尝试找到一个名为mmm的变量.如何逃避括号?

或者是否有更惯用的方法来生成不涉及映射列表的HTML?这个很新!

templates scala playframework-2.0

5
推荐指数
1
解决办法
1486
查看次数

Scala 中的 Monad 变形金刚

我一直在尝试简单的 Monad Transformers,其中我对涉及M[F[A]]whereMFare monad 的理解。如果是不同的单子,我如何在 for comp 中一起制作M[F[A]]和工作?M[S[A]]S

例如:

val a: Future[List[Int]] = ...
val b: Future[Option[Int]] = ...
Run Code Online (Sandbox Code Playgroud)

a需要 aListT[Future, Int]b需要 anOptionT[Future, Int]但这些不组成,我需要使用另一个变压器吗?这取决于我在 for comp 中使用它们的顺序吗?

monads scala monad-transformers scalaz

3
推荐指数
1
解决办法
292
查看次数

Play Framework 2.0使用Anorm在查询中表示集合的正确方法

我试图使用Anorm返回一个结果列表,使用一个返回一组id的匹配行的查询.例如.

select *
from example
where id in (1,2,3,4,5)
Run Code Online (Sandbox Code Playgroud)

如果我试试

SQL(
    """
      select *
      from example 
      where id in ({ids})
    """
  ).on('ids -> ids).as(int("id") ~ str("name") *)
Run Code Online (Sandbox Code Playgroud)

其中id是字符串"1,2,3,4,5",它只返回第一行.注入一组id的正确方法是什么?

scala anorm playframework-2.0

2
推荐指数
1
解决办法
339
查看次数