草庐IT

first_time_wind

全部标签

ruby - 鲁弗斯调度程序 : run every x seconds with first run immediately

我正在使用rufus调度程序让一些任务每隔一段时间执行一次。我希望任务在脚本启动时或多或少地立即运行,然后以给定的时间间隔运行。这似乎不受API支持,还是我遗漏了什么?我已将0.1秒指定为第一次运行之前的延迟,如下所示scheduler=Rufus::Scheduler.newscheduler.every'10s',:first_in=>0.1do#dosomeworkend如果:first_in属性设置为0,调度程序会在第一次运行之前等待整整10秒。如果值设置得太低(我想在执行任务时评估过去的值),或者如果我使用Time.now,则会引发以下错误:~/.ruby/gems/rufu

ruby-on-rails - Rails 3.2.21 和 Ruby 2.2.0 破坏了 Time.zone.parse

在Rails3.2.21和Ruby2.2.0p0中,时区解析器被破坏了。对于Ruby2.1.2,这工作得很好。[1]pry(main)>Time.zone.parse("2015-01-12")NoMethodError:undefinedmethod`year'fornil:NilClassfrom/Users/user/.rvm/gems/ruby-2.2.0/gems/activesupport-3.2.21/lib/active_support/values/time_zone.rb:275:in`parse'现在我知道您可以将其替换为Time.parse("2015-01-1

ruby - Array#first 的 block 参数有什么作用?

我的内存力最差,我忘记了Array#find。所以我写了一些代码,使用Array#first来获取第一个符合条件的项目:first_even_num=[1,2,3].first{|x|x%2==0}这行不通,无论条件如何,它都只返回数组的第一个元素。该block根本没有被调用:[1,2,3].first{|x|exit}puts"theprogramdidnotexit"我已经接受了Array#first没有按照想象的那样做,但我很好奇为什么上述示例不会引发错误。查看2.3.1source,唯一记录的参数是一个整数,表示返回结果的数量。我不太了解C,但这是底层Array#first方法

ruby-on-rails - 坚持如何在数组中使用 .first 和 .last

我需要创建一个名为first_and_last的方法。接受一个参数——一个数组——并返回一个只有第一个和最后一个对象的新数组。我的尝试:deffirst_and_last(a)first_and_last=[1,2,3]first_and_last.last.firstend这是我感到困惑的地方,它还说我需要字符串“a”和“d”以及数字。但是,有3个数字和4个字符串。我认为0是数字的.first。describe"first_and_last"doit"createsnewarraywithnumbers"doexpect(first_and_last([1,2,3])).toeq([

ruby - 如何创建一个无限可枚举的Times?

我希望能够让一个对象扩展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)#=>[#,#,#,#,#]

ruby - Ruby 中的 Time.now 与 Time.new

Time.now和Time.new(不带参数)有区别吗?可能是内存管理或一些小细节上的差异? 最佳答案 没有区别。Time.nowisanaliasfor::new.ReturnsaTimeobjectinitializedtothecurrentsystemtime.http://www.ruby-doc.org/core-2.1.4/Time.html#method-c-now 关于ruby-Ruby中的Time.now与Time.new,我们在StackOverflow上找到一个类

ruby - 在Ruby中,过滤一个对象中所有包含单词 "time"的方法的好方法是什么?

我尝试了以下方法,部分有效:>>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

ruby-on-rails - rails : how to create Time object in specific time zone

我的应用在“莫斯科”(+04:00)时区运行。但有时我只需要按本地时间(例如“2012年5月1日13:45”)和ActiveSupport::TimeZone对象的名称(例如“Berlin”:夏令时+02:00和+01:00否则)。例如,如果我将“2012年5月1日13:45”和“柏林”作为输入,我想产生“2012-05-0113:45:00+0200”或“2012-05-0111:45”:00+0000”。我创建了以下函数:deffrom_local_datetime(local_datetime,time_zone)offset=Time.now.in_time_zone(time

ruby-on-rails - 是否存在 Ruby 1.8.7 time.strftime %z 错误?

我在使用Ruby1.8.7strftime时遇到问题,其中%z在我将时间转换为UTC后返回本地时间。我正在做以下事情:>>t=Time.now=>MonDec1915:20:16-08002011>>t.strftime("%z")=>"-0800">>t=Time.now.utc=>MonDec1923:20:28UTC2011>>t.strftime("%z")=>"-0800"即使在我将时间更改为UTC之后,格式化的时区也默认为我​​的本地PST-0800。这是一个已知问题吗?有办法解决吗? 最佳答案 请注意fine1.8.7

Ruby time.new 与 time.now

testfirst.orgPerformanceMonitorrspec我正在处理由testfirst.org提供的上述问题。下面是我的代码,所有测试都通过了:defmeasure(iterate=1)timestamp=Time.nowiterate.times{yield}timestamp_end=Time.now(timestamp_end-timestamp)/iterateend但是,如果我将Time.now替换为Time.new,一些测试会失败。我读到Time.now是Time.new的别名。那么,为什么测试会失败?使用这两种方法有什么区别?