我正在寻找一种在 Ruby 中“映射”单个项目的方法。
我想调用这个函数并传递一个块,对象将被让给块,然后块的结果将返回给调用者。正是 map 的作用,但对于单个元素。
动机是有时你生成的对象只是用来构造其他东西。然后不再需要原始对象。将转换放入一个块中并消除临时性会很好。
作为一个人为的例子,假设我想创建一个表示月/年组合的整数。对于今天的日期,代码如下所示:
day = Date.today
month_number = day.year * 100 + day.month
如果我能做这样的事情,我真的很喜欢:
month_number = Date.today.some_function { |d| d.year * 100 + d.month }
但我不知道“some_function”是什么(或者它是否存在)。
如果有更多的 Ruby 方式来处理这样的事情,我会全力以赴。我知道猴子修补类,但我希望处理那些更短暂的情况。