小编Mik*_*ame的帖子

获取有关Groovy函数的信息(名称,签名,正文代码)

我有一个Groovy文件包含一堆简单的函数,如下所示:

// useful functions
def myFunc1(String arg) {
    println("Hello " + arg)
}

def myFunc2(String arg) {
    println("Goodbye " + arg)
}
Run Code Online (Sandbox Code Playgroud)

我想从中得到:

  • 方法名称
  • 争论
  • 函数的正文代码

(所有这些都是简单的字符串,我不需要运行任何东西.)

我正准备使用一些Regexing,但由于我使用的是JVM语言(Scala),我想我可以使用一些Groovy编译器的东西来做这个"更好"的方式.

似乎有很多关于动态加载Groovy代码并运行它的信息,但在内省源代码方面却没有那么多.有任何想法吗?

(以"不错"的方式失败,我也会接受一些Scala-foo以简洁的方式解析信息.)

reflection groovy parsing scala

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

在play框架中处理错误

我正在使用play框架开发REST API.我想为我的所有操作实现集中的错误处理.

实现这一目标的最佳方法是什么?

scala playframework playframework-2.3

4
推荐指数
2
解决办法
2291
查看次数

播放模板仅在使用括号调用时才有效

我的Application控制器中有以下代码:

  def index = Action {
    var ticketsAvailable = 1
    Ok(views.html.index)
  }
Run Code Online (Sandbox Code Playgroud)

当我尝试运行该应用程序时,我收到此编译错误:

Cannot write an instance of views.html.index.type to HTTP response. Try to define a Writeable[views.html.index.type]
Run Code Online (Sandbox Code Playgroud)

在线上

Ok(views.html.index) 
Run Code Online (Sandbox Code Playgroud)

但是,当我添加括号(如下所示)时,错误消失:

Ok(views.html.index()) 
Run Code Online (Sandbox Code Playgroud)

这是为什么?我认为,在Scala中,当没有参数时,括号的用法是可选的.

scala playframework

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

"无符号模256"在图像解码的上下文中意味着什么

因为我是受虐狂我正试图在C中写一些东西来解码一个8位的PNG文件(这是一个学习的东西,我不是要重新发明libpng ......)

我已经到了这一点,当我放气的,未经过滤的数据缓冲区中的东西明显地类似于源图像(见下文),但它仍然非常,错误,错误,而且我很确定我的实现方式有些歪斜过滤算法.他们中的大多数都很简单,但在文档中有一件我不理解的重要事情,就是不擅长数学或者没有参加过comp-sci课程:

使用无符号算术模256,因此输入和输出都适合字节.

这是什么意思

如果有人能告诉我,我会非常感激!



作为参考,(我为蹩脚的C道歉)我在文档中描述的过滤算法的点头实现如下:

unsigned char paeth_predictor (unsigned char a, unsigned char b, unsigned char c) {
    // a = left, b = above, c = upper left
    char p = a + b - c; //  initial estimate
    char pa = abs(p - a);    //  distances to a, b, c
    char pb = abs(p - b);
    char pc = abs(p - c);
    // return nearest of a,b,c,
    // …
Run Code Online (Sandbox Code Playgroud)

c png filtering

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