小编Jef*_* Wu的帖子

有没有办法别名tmux命令?

tmux有一个可以通过访问的命令模式,C-b :我想知道是否有一种方法可以在我的.tmux.conf文件中split-window使用别名命令,就像我vsp在vim中经常使用的那样.

我知道我可以绑定键盘快捷键,bind但我也可以使用别名命令吗?

tmux

11
推荐指数
3
解决办法
5118
查看次数

使用新线条在Scala Play20中使用BodyParser解析文件

请原谅这个问题的缺点,但我有一个Web应用程序,我想将一个可能很大的文件发送到服务器并让它解析格式.我正在使用Play20框架,而且我是Scala的新手.

例如,如果我有一个csv,我想用","分隔每一行,最后List[List[String]]用每个字段创建一个.

目前,我认为最好的方法是使用BodyParser(但我可能是错的).我的代码看起来像:

Iteratee.fold[String, List[List[String]]]() {
  (result, chunk) =>
    result = chunk.splitByNewLine.splitByDelimiter // Psuedocode
}
Run Code Online (Sandbox Code Playgroud)

我的第一个问题是,我如何处理下面的一个情况,其中一个块被分割在一行中间:

Chunk 1:
1,2,3,4\n
5,6

Chunk 2:
7,8\n
9,10,11,12\n
Run Code Online (Sandbox Code Playgroud)

我的第二个问题是,编写我自己的BodyParser是正确的方法吗?有没有更好的方法来解析这个文件?我主要担心的是我想允许文件非常大,所以我可以在某个时刻刷新缓冲区而不是将整个文件保存在内存中.

parsing buffer scala playframework-2.0

6
推荐指数
1
解决办法
3427
查看次数

Play 2.0 Framework,使用BodyParser和经过身份验证的请求

我希望能够使用BodyParser上验证的请求,我有麻烦搞清楚怎么做,如果我的身份验证设置,如ZenTasks例子.

我的身份验证方法

def IsAuthenticated(f: => String => Request[AnyContent] => Result) = {
  Security.Authenticated(username, onUnauthorized) { user =>
    Action(request => f(user)(request))
  }
}

def HasRole(role: List[String])
  (f: => String => Request[AnyContent] => Result) = IsAuthenticated {
  user => request => if (role.contains(getRole(user))) {
    f(user)(request) // This function returns the result.
  } else {
    Results.Forbidden
  }
}
Run Code Online (Sandbox Code Playgroud)

我的控制器方法,

def controller = HasRole(List("admin")) { user => _ => { 
  Action(parse.temporaryFile){ implicit request =>
    request.body.moveTo(new File("/tmp/filepath"))
    Redirect(routes.home)
  }
}
Run Code Online (Sandbox Code Playgroud)

这是我看到的错误,

[error]  found   : play.api.mvc.Action[play.api.libs.Files.TemporaryFile] …
Run Code Online (Sandbox Code Playgroud)

parsing scala playframework

6
推荐指数
1
解决办法
2389
查看次数

<%运算符在Scala泛型中的含义是什么?

可能重复:
什么是Scala上下文和视图边界?

在specs2中有一个名为Around的方法,这里记录的方法有以下示例:

object http extends Around {
  def around[T <% Result](t: =>T) = openHttpSession("test") {
    t  // execute t inside a http session
  }
}
Run Code Online (Sandbox Code Playgroud)

可以在此处找到此代码的来源.

我很好奇<%运算符在这种情况下意味着什么?

编辑:这里有一个关于这个主题的可靠答案,什么是Scala上下文和视图边界?

generics scala specs2

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

如何使用默认参数为case类编写scala提取器?

我有以下case类和一个默认参数,我想知道如何编写一个unapply方法,以便我可以只提取前两个参数.

我希望下面的代码是清楚的.

case class Point(x: Double, y: Double, _key: Option[String] = None) {
  def key: String = _key.getOrElse("")
}

object Point {
  def unapply(p: Point) = (p.x, p.y)
}

// pSeq is Seq[Point]
pSeq.map { case Point(x,y) => x + y } // This causes a compiler error:
                                      // wrong number of arguments for <none>: 
                                      // (x: Double, y: Double, _key: Option[String])
Run Code Online (Sandbox Code Playgroud)

scala case-class extractor

4
推荐指数
1
解决办法
1367
查看次数