我使用 dbf gem 从 df 文件中读取数据。我写了一些代码:
# encoding: UTF-8
require 'dbf'
widgets = DBF::Table.new("patient.dbf")
widgets.each do |record|
puts record.vorname
end
基本上代码可以工作,但在 ruby 将大约 400 record.vorname
写入控制台后,我收到此错误:
...
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
谢谢
最佳答案
出于某种原因,您的 DBF 驱动程序返回 nil
记录。你可以通过跳过这些来假装这个问题不存在。
widgets.each do |record|
puts record.vorname if record
end
关于ruby - 如何避免 Nilclass 的未定义方法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18892311/