
Nerdtree突然开始表现得有些奇怪.正如您在屏幕截图中看到的,目录都以?~V?为前缀.随后我也无法打开目录,只是文件.
任何人都知道从哪里开始.这甚至是shell本身的vim问题,或者可能是更低的问题?
任何想法都非常感激
给定定义如下的方法
def descendEach(times:Int)(f:()=>Unit) {
for (i <- 1 to times) {
// other code
f()
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用这种方法时,我希望能够写出来
gd.descendEach(20){
println(gd.cost)
}
Run Code Online (Sandbox Code Playgroud)
但scala编译器只能让我逃脱
gd.descendEach(20){ () =>
println(gd.cost)
}
Run Code Online (Sandbox Code Playgroud)
这有点难看.我在这里错过了什么吗?是否有可能以我提出的第一种方式写出来?
我正在慢慢穿过导轨源,以便更好地抓住红宝石和铁轨.在以下rails类test_case.rb中
这条线是
class TestCase < ::Test::Unit::TestCase
Run Code Online (Sandbox Code Playgroud)
我想知道做以下事情是否有任何不同
class TestCase < Test::Unit::TestCase
Run Code Online (Sandbox Code Playgroud)
这可能看似微不足道,但这些事情对于学习一门新语言至关重要.如果我删除了前导符,那么测试仍会针对ActiveSupport运行,那么它是做什么的......:P
我一直潜入scala,到目前为止我非常喜欢它.我正在开始模式匹配和案例类,以下让我有点难过.我知道它的作用,但我想知道究竟发生了什么
var list = List(2,3,4)
1::list
Run Code Online (Sandbox Code Playgroud)
如果到目前为止我的理解是正确的.然后::表示一个案例对象.如果是这样,我的问题是:
我怎么"把它"应用到1?而不是::是一个方法1.基本上可以有人拉这个语句1 ::列表分开,显示真正发生的事情(即什么方法被调用什么对象)
谢谢
来自java/groovy/grails,我们正在转向rails.我们一直在用它进行一次爆炸.测试从未如此简单和富有成效.作为一个团队,我们相信我们希望以这种语言向前迈进.
我们将很快在纯轨道中解决一些客户端解决方案.
这不是一个更好的问题.所以请不要提倡grails/django或其他任何技术.
我们想要提出的真正问题是对仍然存在的一个令人烦恼的疑问的回答.很久以来,Java开发人员来自JDK和庞大的库,你觉得没有什么是不可能的,而且它可能在之前的某个框架中完成了.这是一种赋予权力的感觉,我们随着时间的推移而陷入困境.
我们目前在ruby/rails中感觉超级富有表现力和生产力,但我们还没有感觉到那种力量感.一种对未来问题的恐惧.我不是在谈论扩展perse,而是担心潜在的客户请求是(可撤销?).
我真的很想听听任何Java to Rails网上商店(或类似的违规行为).我们可能面临任何陷阱,我们必须解决的问题,我们以前没有使用过吗?一种抬头.
此外,重新回到jruby是多么容易?我们目前正在使用普通红宝石,尚未探索这条路径.
总而言之,前面的道路看起来很快,我们将很快进入我们的第一个纯轨道解决方案.但它也有点令人生畏,我们正在寻找前人的一些友好建议.
注意:再一次,这不是关于框架比较!
给出以下代码:
case class ChangeSet(field:String, from:Object, to:Object)
private var changed:List[ChangeSet] = Nil
def change(field:String, from:Object, to:Object) {
changed.find{ case ChangeSet(field,_,_) => true } match {
case Some(ChangeSet(field,to,_)) => // do stuff
case Some(_) => // do stuff
case _ => // do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
给我带来麻烦的是Some(ChangeSet(field,to,_)).
它编译但似乎正在发生的事情是Scala将其填充为通配符的占位符.我的假设基于以下事实:当我执行以下操作时,Some(ChangeSet(field,to,to))我得到了错误to is already defined as value.
我想要的是to从方法参数创建一个ChangeSet对象.
那可能吗?
def moo
puts "moo"
end
moo.moo.moo.moo
Run Code Online (Sandbox Code Playgroud)
这给了
moo
moo
moo
moo
Run Code Online (Sandbox Code Playgroud)
只是一个奇怪的事情,我很好奇这是否是故意的,并且有用的目的......
在rails源代码中:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb
以下可以看出
@load_hooks = Hash.new {|h,k| h[k] = [] }
Run Code Online (Sandbox Code Playgroud)
在IRB中只是初始化一个空哈希.这样做有什么不同
@load_hooks = Hash.new
Run Code Online (Sandbox Code Playgroud)