您能为Ruby中的map(&:Method)语法提供参数吗?

您能为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}.

阅读有关此语法的更多信息map(&:name)在Ruby中意味着什么?".

通过语法&:class,你在打一个方法电话class对于每个数组元素。

我的问题是:您能为方法调用提供参数吗?如果是,怎么做?

例如,如何转换以下语法

a = [1,3,5,7,9]a.map {|x| x + 2}

&:语法?

我不是说&:语法更好。我只是对使用&:带有参数的语法。

我想你应该知道+是Integer类上的一个方法。您可以在IRB中尝试以下内容:

>> a=1=> 1>> a+(1)=> 2>> a.send(:+, 1)=> 2


智慧大石
浏览 442回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Ruby