【问题标题】:Why is ruby gem method returning variable of the wrong class为什么ruby gem方法返回错误类的变量
【发布时间】:2012-09-22 21:11:34
【问题描述】:

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

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 库文件中设置的全局变量。 t 原来是一个数组类,没有访问段的方法。

【问题讨论】:

  • 你能发布一个代码示例来说明这一点吗?
  • Ruby:begin 需要 'rubygems' gem 'minitest' 需要 'minitest/autorun' 需要 'pp' 需要 'pry' 需要 'hippo' t = Hippo::Parser.parse_string(File.read( 'c:/test.edi')) puts "DONE:" puts t.class puts $t.class gets puts $t.ST end
  • 那不起作用,我将尝试使用源和输出编辑帖子。谢谢
  • 这样更好,在我看来变量 t 应该是 hippo 类,以便可以通过其方法访问段。

标签: ruby x12


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 2014-10-01
    • 2012-12-05
    相关资源
    最近更新 更多