0

私はカバの宝石を使用して、X12ファイルをセグメントと値に解析しています。パーサーメソッドを使用していて、クラスHippo :: TransactionSets :: Hippa_837 :: Baseの変数を返すことを期待していましたが、返される値はクラスArrayです。ライブラリ内で、必要な量をグローバル変数に入れて、その方法でアクセスできますが、そうする必要はないと思います。クラスの変数を作成し、パーサーメソッドreturnを使用してその値を設定しようとしましたが、これまでのところうまくいきません。

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.rblibファイルに設定したグローバル変数です。tは、セグメントにアクセスするためのメソッドのない配列クラスであることがわかります。

4

1 に答える 1

0

配列を反復処理するか、個々の要素をフェッチする必要があります。その後、セグメントに関連付けられたすべてのメソッドを使用して、期待どおりのオブジェクトを見つけることができます。

于 2012-10-03T00:53:46.603 に答える