小编rjc*_*rjc的帖子

如何声明空列表然后在scala中添加字符串?

我有这样的代码:

val dm  = List[String]()
val dk = List[Map[String,Object]]()

.....

dm.add("text")
dk.add(Map("1" -> "ok"))
Run Code Online (Sandbox Code Playgroud)

但它会抛出运行时java.lang.UnsupportedOperationException.

我需要声明空列表或空映射,稍后在代码中需要填充它们.

scala

76
推荐指数
4
解决办法
14万
查看次数

如果在scala中找不到密钥,如何使用密钥访问映射的值?

假设我有

var mp = Map[String,String]()

.....

val n = mp("kk")
Run Code Online (Sandbox Code Playgroud)

如果键"kk"不存在,上面将抛出运行时错误.

我预计在密钥不存在的情况下,n将为null.如果key不存在,我希望n为null.

使用短代码示例在scala中处理这种情况的正确方法是什么?

scala

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

哪里可以找到scaladoc 2的教程?

我为scaladoc 2.0教程或示例进行了bin或google搜索,我找不到任何东西,实际上甚至没有链接到官方scaladoc 2.0文档.谁知道在哪里找到一个?

scala scaladoc

22
推荐指数
2
解决办法
7754
查看次数

如何从NodeJs调用Java程序

我有一个Java程序,我通常从命令行开始.从命令行启动后,java程序将一直运行,直到按下Ctrl + C退出它或从另一个脚本中删除命令.Java程序向控制台输出错误消息(如果有).

现在我想开发基于Express的NodeJs Web应用程序.当用户单击链接(运行)时,单击处理程序将调用Ajax请求,这将导致后端NodeJs脚本运行此Java程序(如果尚未运行).另一个链接(Stop)将使Ajax请求停止此Java程序.

如何实现这一目标?使用示例代码回答最有用.

还有一个要求:如果此NodeJs Web应用程序终止,由它启动的Java程序将继续运行,即它不依赖于NodeJs Web应用程序.

java node.js

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

如何在scala中匿名实现Java接口?

假设我有一个Java接口

public interface Bar {

  public void baz(String st)
  public void jaz()
}
Run Code Online (Sandbox Code Playgroud)

我想在函数体中的scala中匿名实现上面的接口,如:

def foo() = {
val bar : Bar = new Bar() {
// how to do that ?


 }

}
Run Code Online (Sandbox Code Playgroud)

java scala

12
推荐指数
2
解决办法
3865
查看次数

当ajax请求定期自动刷新时如何使用knockout.js数据绑定?

在我的应用程序中,我每隔5秒定期进行一次ajax调用,以从服务器获取新的更新.

我从服务器获取的ajax数据是JSON数组,如下所示:[{"foo":"valx","bar":"valy"

},{"foo":"valw","bar":"valz"}]

我的ajax代码是:

(function update() {

    $.ajax({
        type : 'GET',
        url : url,
        data : {

        },
        dataType : "json",
        global : false,
        success : function(content, textStatus, jqXHR) {
        myViewModel = content;
        ko.applyBindings(myViewModel);

        },
        complete: function() {

         setTimeout(update, 5000);
          },

        error: function( xhr, textStatus ) {

            }
    });
    })();                       
Run Code Online (Sandbox Code Playgroud)

我的HTML是:

<tbody data-bind="foreach: myViewModel">
                        <tr>
                            <td data-bind="text: foo"></td>
                            <td data-bind="text: bar"></td>
                        </tr>
                    </tbody>
Run Code Online (Sandbox Code Playgroud)

但这不起作用,我在第一次ajax调用后得到错误:你不能多次将绑定应用于同一个元素.

javascript ajax jquery knockout.js

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

Eclipse使用了太多内存,最佳配置是什么?

我想要的是最轻的eclipse版本,以便在运行时尽可能地消耗内存.有没有人知道如何配置eclipse尽可能轻?

目前我正在使用Eclipse STS,但我想放弃它,因为它在不运行我的项目时自己使用平均1 GB的内存.我使用的是64位linux平台.

我只是做普通的Java/Groovy/Grails和Scala Web应用程序开发以及Javascript调试HTML/CSS.我没有使用任何重量级的应用程序服务器.

java eclipse grails scala

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

如何在play框架中的scala模板中声明和访问局部变量?

我在scala模板中有代码,如:

@for(col <- List.range(0,12)) {
    <td>
        @if(col % 2 == 0) {
            @{ val letter = someMap(col) }
            <div class="z@(letter)@(letter)s"></div>
        }
    </td>
}
Run Code Online (Sandbox Code Playgroud)

但我得到编译错误:找不到值字母.如何声明变量并能够在上面的标记中稍后访问?

scala playframework

8
推荐指数
1
解决办法
4721
查看次数

如何在scala中使用ListBuffer?

我有一种情况,我将单个元素列表传递给方法.在此方法中,列表中的单个元素增加1.因此,在方法调用之后,将修改列表第一个元素(递增1).

代码是这样的:

val ct = List(5)

someMethod(ct)

println (ct(0))

// should print 6
Run Code Online (Sandbox Code Playgroud)

......

//within somethod, I incrment the element like:
def someMethod(ct: List[Int}) {
    ct(0) = ct(0) + 1
}
Run Code Online (Sandbox Code Playgroud)

当然上面的代码在Scala中不起作用.我查看了ListBuffer,但我发现scala doc难以理解.Scala doc分为2组:Type Member和Value Members.在类型成员中有类WithFiler,值成员有许多方法.我如何使用WithFiler(可能与此问题没有直接关系,但我想了解如何使用scala doc).

如果我想要具有非常高的性能(someMethod被称为数百万次),ListBuffer似乎是解决这个问题的正确方法(如果我错了,请纠正我).

那么如果ListBuffer是正确的列表类型,如果不是解决方案,如何解决上述问题呢?

scala

8
推荐指数
3
解决办法
2万
查看次数

如何将元组声明为函数的返回类型以及如何在scala中调用调用者代码中的元组?

假设我有一个scala函数,它应该返回一个类型的元组 (String, Int, Int) mapped to keys (words, row, col):

def getResult(param: Int)    {

// a lot of logic goes here to generate tuple values

// now return the tuple

}
Run Code Online (Sandbox Code Playgroud)

在来电代码中:

var words, row, col
if(someValue) {

  getResults(someValue)  // assigns the tuple values to keys words, row and col
  // reference words, row and col variables here

} else
  getResults(someOtherValue)  // assigns the tuple values to keys words, row and col
// reference words, row and col variables …
Run Code Online (Sandbox Code Playgroud)

scala

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