我希望能够让一个对象扩展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
使用Ruby2.1,我试图找到Time#strftime('%Y%U')的倒数。例如:s=Time.parse("2014-05-0716:41:48-0700").strftime('%Y%U')#201418t=Time.strptime(s,'%Y%U')#Expected:2014-05-0400:00:00-0700#Actual:2014-01-0100:00:00-0800Thistopic建议使用%G所以我阅读了文档并尝试了它,但我得到的只是当前时间。例如:t=Time.strptime('201418','%G%U')#2014-05-1312:07:51-0700根