2012-10-02 48 views
0

我正在使用hippo gem将X12文件解析为其段和值。我使用解析器方法,我期望它返回类的变量:Hippo :: TransactionSets :: Hippa_837 :: Base,但返回的值是类Array。在图书馆内,我可以将我需要的数量放入一个全局变量并以这种方式访问​​它,但我认为我不应该这样做。我试图创建一个类的变量,并使用解析器方法返回来设置它的值,到目前为止没有运气。为什么ruby gem方法返回错误类的变量

begin 
require 'rubygems' 
gem 'minitest' 
require 'minitest/autorun' 
require 'pp' 
require 'pry' 
require 'hippo' 

t = Hippo::Parser.parse_string(File.read('c:/test.edi')) 
puts "DONE: " 
puts t.class 
puts $t.class 
gets 
puts $t.ST 
end 

输出:

DONE: 
Hippo::TransactionSets::HIPAA_837::Base 
Array 
ST*837*0021*005010X222A1~ 

$ t为全局变量我在parser.rb LIB文件中设置。 t原来是没有访问段的方法的数组类。

+2

你可以发布一个代码示例说明这一点吗? –

+0

红宝石:开始 \t需要 '的rubygems' \t宝石 'MINITEST' \t需要 'MINITEST /自动运行' \t需要 'PP' \t需要 '撬' 需要 '河马' 吨=河马::分析器.parse_string(File.read( 'C:/test.edi')) \t看跌期权 “DONE:” \t放t.class \t把$ t.class \t得到 把$ t.ST 结束 – user1137656

+0

这没有奏效,我会尝试编辑与源和输出的帖子。谢谢 – user1137656

回答

0

您需要遍历数组或获取单个元素,然后您将找到期望的对象以及与段相关的所有方法。

相关问题