1

dbf gem を使用して、df ファイルからデータを読み取ります。私はいくつかのコードを書きました:

    # encoding: UTF-8
    require 'dbf'
    widgets = DBF::Table.new("patient.dbf")
      widgets.each do |record|
       puts record.vorname
      end

record.vorname基本的にコードは機能しますが、Ruby が約 400をコンソールに書き込んだ後、次のエラーが発生します。

  ...
  Gisela
  G?nter
  mycode.rb:5:in `block in <main>': undefined method `vorname' for nil:NilClass (NoM
  ethodError)
    from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/dbf-2.0.6/lib/
    dbf/table.rb:101:in `block in each'
    ......

私の質問は、どうすればこのエラーを回避できますか? したがって、なぜ(エラーでどのように確認できるか)、record.vornameä、ö、üの付いたが?、?、?のように表示されるのは興味深いでしょう。例:

Günterに変換されますG?nter

ありがとう

4

3 に答える 3

0

nil:Nil クラスの NoMethodError を回避するには、おそらくこれを試すことができます。

require 'dbf'
widgets = DBF::Table.new("patient.dbf")
  widgets.each do |record|
   puts record.vorname unless record.blank?
  end
于 2013-09-19T10:55:07.310 に答える