7
您可以在Ruby中为map(&:method)语法提供参数吗?
您可能熟悉以下Ruby速记(a是一个数组): a.map(&:method) 例如,在irb中尝试以下操作: >> a=[:a, 'a', 1, 1.0] => [:a, "a", 1, 1.0] >> a.map(&:class) => [Symbol, String, Fixnum, Float] 语法a.map(&:class)是的简写a.map {|x| x.class}。 在“ Ruby中的map(&:name)意味着什么? ”中阅读有关此语法的更多信息。 通过语法&:class,您可以class对每个数组元素进行方法调用。 我的问题是:您可以为方法调用提供参数吗?如果是这样,怎么办? 例如,如何转换以下语法 a = [1,3,5,7,9] a.map {|x| x + 2} 在&:语法? 我并不是说&:语法更好。我只对将&:语法与参数结合使用的机制感兴趣。 我假设您知道这+是Integer类上的方法。您可以在irb中尝试以下操作: >> a=1 => 1 >> a+(1) => 2 >> a.send(:+, …
116
ruby