gpt4 book ai didi

javascript - Ruby:类似于匿名函数吗?

转载 作者:太空宇宙 更新时间:2023-11-03 17:32:49 24 4
gpt4 key购买 nike

在 JavaScript 中我可以做类似的事情:

var foo = function(){
var a = 5;
a = a*a;
return a;
}();

所以我可以定义只使用一次的匿名函数。我正在尝试,但我的方法是错误的:

foo = {
a = 5
a = a*a
return a
}
#=> SyntaxError: unexpected '\n'...

foo = do
a = 5
a = a*a
a
end
#=> SyntaxError: unexpected keyword_do_block...

foo = {
a = 5
a = a*a
a
}()
#=> SyntaxError: unexpected '\n'...

最佳答案

嗯,你可以在 Ruby 中使用 lambda

foo = ->(a) { a * a }
foo.call(4) # => 16

Proc对象是绑定(bind)到一组局部变量的代码块。一旦绑定(bind),代码可能会在不同的上下文中被调用,并且仍然可以访问这些变量。

阅读此 When to use lambda, when to use Proc.new? .

关于javascript - Ruby:类似于匿名函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28738705/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com