小编cli*_*zin的帖子

在Clojure和其他Lisp方言的函数名末尾使用星号的惯例是什么?

请注意,我不是在谈论符号名称中的耳罩,这是在Clowjure常量的约定,样式和用法中讨论的问题如何在Clojure中使用的`*变种名称*`命名,约定?.我正在严格地谈论有一些名为foo的函数然后调用函数foo*的实例.

coding-style clojure naming-conventions

35
推荐指数
4
解决办法
6895
查看次数

ClojureQL与clojure.contrib.sql相比如何?

看起来每个人都涵盖了基本情况,例如选择某些列并通过谓词过滤得很好,但我想知道每种情况如何比较更高级的情况.是否更容易在一个方面表达复杂的查询?一个库是否缺少对方涵盖的任何功能?

sql clojure clojure-contrib clojureql

25
推荐指数
1
解决办法
3375
查看次数

为什么Ruby似乎从case语句中提升变量声明,即使该代码路径没有被执行?

我们定义一个函数foo:

def foo(s)
  case s
  when'foo'
    x = 3
    puts x.inspect
  when 'bar'
    y = 4
    puts y.inspect
  end
  puts x.inspect
  puts y.inspect
end
Run Code Online (Sandbox Code Playgroud)

然后我们将其称为如下:

1.9.3p194 :017 > foo('foo')
in foo scope
3
in outer scope
3
nil
 => nil 

1.9.3p194 :018 > foo('bar')
in bar scope
3
in outer scope
nil
3
 => nil 
Run Code Online (Sandbox Code Playgroud)

为什么函数不会在任何一种情况下抛出关于未注册的局部变量的错误?在第一种情况下,变量y似乎不应该存在,所以你不能inspect在外部范围内调用它; 同为x在第二种情况下.

这是另一个类似的例子:

def test1
  x = 5 if false
  puts x.inspect
end

def test2
  puts x.inspect
end
Run Code Online (Sandbox Code Playgroud)

然后: …

ruby

25
推荐指数
1
解决办法
3830
查看次数

Midje和Speclj如何比较?

两者看起来都相当不错.我想了解每个库特别擅长或缺乏的内容,特别是对于Web应用程序的测试.

clojure

10
推荐指数
4
解决办法
3327
查看次数