首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby和OpenStruct只允许访问某些数据

Ruby和OpenStruct只允许访问某些数据
EN

Stack Overflow用户
提问于 2014-11-27 22:45:54
回答 1查看 166关注 0票数 2

我有一个OpenStruct数据结构数组。但当我尝试访问它们时,我只能访问country

代码语言:javascript
复制
array = [
 #<OpenStruct country="United States", visits="202", visitBounceRate="59.900990099009896", avgTimeOnSite="151.85148514851485", newVisits="176", percentNewVisits="87.12871287128714", pageviewsPerVisit="2.9207920792079207">, 
 #<OpenStruct country="Germany", visits="155", visitBounceRate="43.87096774193549", avgTimeOnSite="167.43870967741935", newVisits="104", percentNewVisits="67.0967741935484", pageviewsPerVisit="3.935483870967742">, 
 #<OpenStruct country="Brazil", visits="105", visitBounceRate="44.761904761904766", avgTimeOnSite="227.2095238095238", newVisits="77", percentNewVisits="73.33333333333333", pageviewsPerVisit="3.5142857142857142">, 
 #<OpenStruct country="United Kingdom", visits="71", visitBounceRate="46.478873239436616", avgTimeOnSite="216.91549295774647", newVisits="36", percentNewVisits="50.70422535211267", pageviewsPerVisit="3.464788732394366">
]

例如

代码语言:javascript
复制
array.each do |openstruct|
  put openstruct.country
end

返回所有国家/地区,但如果我返回

代码语言:javascript
复制
array.each do |openstruct|
  put openstruct.newVisits
end

返回大量空行。

EN

回答 1

Stack Overflow用户

发布于 2014-11-27 22:50:49

这个案子没什么特别的。它必须是您的应用程序中较早的内容:

代码语言:javascript
复制
irb(main):002:0> require 'ostruct'
=> true
irb(main):003:0> OpenStruct.new
=> #<OpenStruct>
irb(main):004:0> os = _
=> #<OpenStruct>
irb(main):005:0> os.country = :russia
=> :russia
irb(main):006:0> os.newVisits = 60
=> 60
irb(main):007:0> os.country
=> :russia
irb(main):008:0> os.newVisits
=> 60
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27173285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档