标记值等于042时的data_for



我使用的是data_magic(0.21)和页面对象gem。我有一个yml文件标记如下:

test_1:
  code: 042
test_2:
  code: '042'

当我运行以下脚本时

require 'data_magic'
class MyPage
   include DataMagic
end
page = MyPage.new
puts page.data_for :test_1
puts page.data_for :test_2

我观察到test_1/code上data_for返回的值并没有返回042,而是提供了34。似乎我必须在数字前面加上单引号才能返回预期值。

实际

 {"code"=>34}
 {"code"=>"042"}

预期

{"code"=>042}
{"code"=>"042"}

我已经通读了代码,但无法确定为什么会发生这种情况。有人能解释为什么会这样吗?

我了解到这是预期的行为。以0开头的数字被认为是八进制,34是正确的表示。

相关内容

  • 没有找到相关文章

最新更新