我使用的是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是正确的表示。