我希望能够让一个对象扩展Ruby中的Enumerable成为无限的星期一列表(例如)。所以它会产生:3月29日、4月5日、4月12日……等等我如何在Ruby中实现它? 最佳答案 在1.9中(可能还有以前使用backports的版本),您可以轻松创建枚举器:require'date'defndays_from(from,step=7)Enumerator.new{|y|loop{y.yieldfromfrom+=step}}ende=ndays_from(Date.today)pe.take(5)#=>[#,#,#,#,#]
我尝试了以下方法,部分有效:>>s.methods.map{|n|nifn=~/time/}=>[nil,nil,nil,nil,nil,nil,nil,nil,"skip_time_zone_conversion_for_attributes",nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,nil,"timestamped_migrations",nil,nil,nil,nil,nil,nil