我是Scala的新手,但对Java很老,对使用像"Haskell"这样的FP语言有一定的了解.
在这里,我想知道如何使用Scala实现这一点.数组中有一个元素列表,所有这些元素都是字符串,我只想知道是否有一种方法可以用Sc方式在Scala中完成.这是我当前的版本有效...
def checkLength(vals: Array[String]): Boolean = {
var len = -1
for(x <- conts){
if(len < 0)
len = x.length()
else{
if (x.length() != len)
return false
else
len = x.length()
}
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
而且我很确定在Scala/FP中有更好的方法可以做到这一点......
我正在研究一些scala代码,发现这种方法令我感到困惑.在匹配语句中,sublist@构造是什么?它包含什么样的价值?当我打印它没有差异tail,但如果我用尾巴替换它,该函数返回差异结果.有人可以解释它是什么,并指出一个正确的资源来理解它吗?(我知道我可以在谷歌搜索,但不知道该找什么..)
def flatMapSublists[A, B](ls: List[A])(f: (List[A]) => List[B]): List[B] =
ls match {
case Nil => Nil
case sublist@(_ :: tail) => f(sublist) ::: flatMapSublists(tail)(f)
}
Run Code Online (Sandbox Code Playgroud) 我在列表上进行模式匹配.无论如何我可以访问列表的第一个和最后一个元素进行比较吗?
我想做点什么......
case List(x, _*, y) if(x == y) => true
Run Code Online (Sandbox Code Playgroud)
要么
case x :: _* :: y =>
或类似的东西......在哪里x,y是列表的第一个和最后一个元素..
我怎么能这样做..任何想法?
我在javax.scripting地图实现中看到了一些奇怪的行为.
在线示例显示了在js环境中添加到列表的示例:
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine jsEngine = mgr.getEngineByName("JavaScript");
List<String> namesList = new ArrayList<String>();
namesList.add("Jill");
namesList.add("Bob");
namesList.add("Laureen");
namesList.add("Ed");
jsEngine.put("namesListKey", namesList);
System.out.println("Executing in script environment...");
try
{
jsEngine.eval("var names = namesListKey.toArray();" + "for(x in names) {" + " println(names[x]);" + "}"
+ "namesListKey.add(\"Dana\");");
} catch (ScriptException ex)
{
ex.printStackTrace();
}
System.out.println(namesList);
Run Code Online (Sandbox Code Playgroud)
但是,如果您尝试使用地图执行类似操作,则会看到奇怪的行为.首先,如果您尝试迭代地图键,例如
HashMap<String, Object> m = new HashMap<String, Object>();
jsEngine.put("map", m);
Run Code Online (Sandbox Code Playgroud)
无法获取地图密钥 - 如果您尝试迭代密钥,则会获得方法名称 -
jsEngine.eval(" for (var k in m.keySet()){ println(k)};");
Run Code Online (Sandbox Code Playgroud)
结果是 :
notifyAll
removeAll
containsAll …Run Code Online (Sandbox Code Playgroud) 我在Haskell有一些经验,目前正在学习Scala.我想知道Scala中是否有相当于Monads的东西?
在过去的几个月里,我一直在学习Scala,现在除了解决一些简单的问题之外,我觉得我可以开始使用实际的工作了.我的问题是这两者如何协同工作?
我现在正在处理几个Java项目.开始在其中使用scala是多么容易?有什么问题需要注意吗?这样做有什么教程或类型的东西吗?如果我想在Web项目中使用Scala怎么做(除了lift)?欢迎所有的想法和建议.
问题就是这一切.哪一个更好,什么时候使用什么,我从不使用jQuery live(),因为我使用liveQuery插件已有几年了,我已经习惯了它并且仍在继续使用它.但我想知道两者之间的细微差别以及何时使用它们?
嗨我想知道是否有任何jquery函数可以采取这个dateTime"2010-10-18 10:06"并转换并拆分它返回"2010/10/18"和"10:06".
如果相同的功能只能接收"2010-10-18 10:06"或"2010-10-18"并且如上所述返回,或者除了"2010/10/18"之外的其他格式如18,那也不错-10-2010"或2010年10月18日,提供选项但不重要,只是对jQuery处理日期的权力感到好奇.
谢谢.
我正在使用parent()和nearest()进行测试,没有在函数内工作.
TD保持不变,使用此方法无变化:
$.get('form.php', function(data){
alert(data);
$(this).closest('td').html('Done!');
});
Run Code Online (Sandbox Code Playgroud)
TD更新,此方法有效:
$.get('form.php', function(data){
alert(data);
});
$(this).closest('td').html('Done!');
Run Code Online (Sandbox Code Playgroud)
能帮我解决一下为什么closest('td')不在回调函数中工作?