生成支架和在Rails中生成模型有什么区别?做任何一个的优点/缺点是什么?
我试图在Ruby中编写一个闭包.这是用Python编写的代码:
def counter():
x = 0
def increment(y):
nonlocal x
x += y
print(x)
return increment
Run Code Online (Sandbox Code Playgroud)
在Ruby中是否存在"非本地"等价物,因此我可以从内部增量访问变量x并对其进行更改?
我想在Clojure中编写一个闭包来模拟以下JavaScript代码:
var nextOdd = function () {
var x = 1;
return function () {
var result = x;
x += 2;
return result;
}
}();
nextOdd(); //1
nextOdd(); //3
nextOdd(); //5
Run Code Online (Sandbox Code Playgroud)
我知道Clojure支持闭包,所以我可能会写一些类似的东西
(defn plusn [x]
(fn [y] (+ x y)))
(def plus2 (plusn 2))
(plus2 3)
Run Code Online (Sandbox Code Playgroud)
但是我每次调用函数时都需要能保持状态(即下一个奇数的状态)的东西...然后在Clojure中有完整的不变性......