Tag: 一流function

如果没有圆括号前面的点,为什么Ruby 1.9 lambda调用不可能?

我查看了最新的Ruby版本,以便了解最新的更改。 我尝试做的第一件事是调用Ruby lambda / block / proc就像你使用Python可调用一样。 a = lambda {|x| puts x} a.call(4) # works, and prints 4 a[4] # works and prints 4 a.(4) # same a(4) # undefined method ‘a’ for main:Object 为什么不能进行最后一次通话? 会不会是?

如何在Ruby中引用函数?

在python中,引用函数非常简单: >>> def foo(): … print “foo called” … return 1 … >>> x = foo >>> foo() foo called 1 >>> x() foo called 1 >>> x >>> foo 但是,它似乎在Ruby中有所不同,因为裸foo实际上调用了foo: ruby-1.9.2-p0 > def foo ruby-1.9.2-p0 ?> print “foo called” ruby-1.9.2-p0 ?> 1 ruby-1.9.2-p0 ?> end => nil ruby-1.9.2-p0 > x = foo foo called […]