草庐IT

zone_symbol

全部标签

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 - CSV header_converters : :symbol giving inconsistent results

将RubyCSVfor_each与headers:true,header_converters::symbol结合使用我无法预测生成的标题符号是什么。有时它只是小写并用下划线替换空格,所以"Name"变成:name,但有时它用下划线作为符号的前缀和后缀,所以"Latitude"变为:_latitude_。这是一个相当小的刺激——我可以只查看转换后的行并查看标题是什么,但我想了解它发生的原因(以及我是否可以轻松地阻止它)。我查找了有关header_converters::symbol的文档,但只能发现它将header转换为符号(我知道),而不是如何进行转换。有人可以帮忙吗?

ruby-on-rails - 关于 Symbol 对象的 Ruby 文档具有误导性

我是Ruby的新手,和其他人一样,我无法理解Ruby符号。我知道这个主题已被多次提及,但我相信这篇文章可能与其他文章略有不同。如果没有,我很抱歉。以documentation中的这段代码为例.moduleOneclassFredend$f1=:FredendmoduleTwoFred=1$f2=:FredenddefFred()end$f3=:Fred$f1.object_id#=>2514190$f2.object_id#=>2514190$f3.object_id#=>2514190我的提示是,它让我们认为类、模块或函数与:Fred符号之间存在联系。难怪人们会问“我可以为符号赋值吗

ruby 1.9.3-p0 乘客 "Symbol not found: _ruby_current_thread"

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Rails3.1andRuby1.9.3p125:ruby-debug19stillcrasheswith“Symbolnotfound:_ruby_threadptr_data_type”刚刚更新到1.9.3-p0,更新了我所有的gem等等,但我的应用程序仍然无法启动。乘客错误:Errormessage:dlopen(/Users/username/.rvm/gems/ruby-1.9.3-p0/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle,9):

ruby - undefined symbol : SSLv2_method when trying to run Thin webserver

我已经用rvm安装了OpenSSL(rvmpkginstallopenssl)然后rvmreinstall1.9.3--with-openssl-dir=$rvm_path/usr当我尝试运行瘦网络服务器时,出现以下错误:/home/ubuntu/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/x86_64-linux/openssl.so:undefinedsymbol:SSLv2_method-/home/ubuntu/.rvm/rubies/ruby-1.9.3-p327/lib/ruby/1.9.1/x86_64-linux/openssl

ruby-on-rails - 为什么 zone.utc_offset 和 zone.now.utc_offset 之间存在差异?

在Rails控制台中:>ActiveSupport::TimeZone['Samoa'].utc_offset=>-39600>ActiveSupport::TimeZone['Samoa'].now.utc_offset=>50400我希望看到基于DST的差异,也许是一个小时。为什么这里有巨大的差异?更新:萨摩亚是唯一具有这种行为的时区。很容易找到:ActiveSupport::TimeZone.all.select{|tz|(tz.now.utc_offset-tz.utc_offset).abs/(3600)>1} 最佳答案

ruby-on-rails - 向 Symbol 添加 to_str 方法有什么负面影响?

我在一个ruby​​应用程序中工作,在这个应用程序中,符号被用于不同的地方,而在这些地方人们通常会使用其他语言的字符串或枚举(主要用于指定配置)。所以我的问题是,为什么我不向符号添加to_str方法?这似乎是明智的,因为它允许符号和字符串之间的隐式转换。所以我可以做这样的事情而不必担心调用:symbol.to_s:File.join(:something,"something_else")#=>"something/something_else"负数与正数相同,它隐式地将符号转换为字符串,如果它导致一个模糊的错误,这可能会非常困惑,但考虑到符号的通常使用方式,我不确定这是否是一个有效的

ruby - 明确地产生 n 值给 Symbol#to_proc

我discoveredtonightRuby的Symbol#to_proc处理第一个以外的其他产生值作为方法调用的参数。换句话说,这两个方法调用是等价的:yields_three{|a,b,c|a.foo(b,c)}yields_three(&:foo)我认为这可能是一个值得探索的强大(或至少有趣)的习语,因此我尝试了以下方法:classPlayerdefadd_score(points)@score+=pointsendendmy_array_of_players.zip(my_array_of_turn_scores).each(&:add_score)不幸的是,这不起作用:NoM

ruby-on-rails - 未定义的方法 `symbolize_keys!' 为 2 :Fixnum

我正在使用ruby​​1.9.2和rails3。运行我的应用程序时出现以下错误。错误:undefinedmethod`symbolize_keys!'for2:Fixnumline#606raised:代码:行号606'GrandTotal',:value=>number_with_precision(0,2),:readonly=>true%>应用程序跟踪:actionpack(3.0.0)lib/action_view/helpers/number_helper.rb:238:in`number_with_precision'app/views/cashier/cashier/bi

c - 为什么 Ruby 1.8.7 中的 Symbol#to_proc 变慢了?

RelativePerformanceofSymbol#to_procinPopularRubyImplementations声明在MRIRuby1.8.7中,Symbol#to_proc在其基准测试中比替代方案慢30%到130%,但在YARVRuby1.9.2中并非如此。为什么会这样?1.8.7的创建者没有用纯Ruby编写Symbol#to_proc。此外,是否有任何gem可以为1.8提供更快的Symbol#to_proc性能?(符号#to_proc在我使用ruby​​-prof时开始出现,所以我不认为我犯了过早优化的罪) 最佳答案