1
我在一些功能的Java未來但從Java功能 - 通過調用一個成員函數
紅寶石紅寶石點,你可以做這樣的事情
mapped_array = [1,2,3].map(&:to_s)
它評估出變換變換(圖)數組通過調用to_s成員函數的每個對象
mapped_array = []
[1,2,3].each { |e| mapped_array << e.to_s }
我想這樣做在Java中類似的東西,即改造產品-3(fj.P3)的列表中調用_2()方法的每個對象
List<P2<Integer, Double>> aListOfP2;
final List<Double> costs = transform(aListOfP2, Converters.<Integer, Double>second());
,所以我不得不某處定義一個方法
public static final <A,B> Function<P2<A,B>,B> second() {
return new Function<P2<A, B>, B>() {
public B apply(final P2<A, B> from) {
return from._2();
}
};
};
但當時如果我想要得到的第一個元素,那就是另一種方法...如果我想從P3獲得第二個元素,那是另一種方法。
問題是......如果在Ruby中沒有可用的機制,那麼完成這個的最普通的方法是什麼?
這是完美的,雙下劃線版本正是我想要的!我相信爲了應用第二種語法,我將不得不使用fj.data.List而不是泛型java.util.List。 – 2012-02-20 22:42:07