ruby-on-rails - Ruby 中的方法链是如何工作的?

标签 ruby-on-rails ruby

ruby 中的方法链是如何工作的?作为 C# 开发人员,当我看到 1.hour.from_now.localtime 时,我不确定发生了什么。这段代码是如何工作的?

<%= 1.hour.from_now.localtime %>

最佳答案

1是一个响应小时的对象

pry(main)> 1.class
=> Fixnum

.hour 是 Fixnum 上的一种方法,将其表示为一个小时(通过将其更改为 3600)

pry(main)> 1.hour.class
=> Fixnum
pry(main)> 1.hour.to_i
=> 3600

.from_now3600 的类型更改为 DateTime,即 future 3600 秒。

pry(main)> 1.hour.from_now
=> Mon, 22 Sep 2014 19:57:05 UTC +00:00
pry(main)> 1.hour.from_now.class
=> ActiveSupport::TimeWithZone

.localtime 将 TimeZone 更改为系统本地时间:

pry(main)> 1.hour.from_now.localtime
=> 2014-09-22 12:57:41 -0700

关于ruby-on-rails - Ruby 中的方法链是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25981099/

相关文章:

javascript - 用于在 Rails 中显示隐藏表单的 JQuery 事件处理程序

ruby-on-rails - 弹性-QueryingParsingException-查询不支持-使用过滤器按关联字段搜索时

ruby-on-rails - 来自 Aws CognitoIdentityProvider 的 WebMock stub 数据

ruby-on-rails - Rails "undefined method ' name' for nil :NilClass"error when adding @article. comments.size

javascript - 如何自动验证优惠券并调整价格?

ruby - 为什么 Ruby YAML 有时会在管道字符 (|) 后添加 '2'?

ruby-on-rails - 如何使用 Minitest 测试 Pundit 政策?

Ruby 对 XML 命名空间的支持

ruby-on-rails - Mailgun 帐户注册后很快就被禁用

ruby - 获取包含文本的 webdriver 中的特定元素