【发布时间】:2013-09-19 19:22:11
【问题描述】:
我使用 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
谢谢
【问题讨论】:
-
这意味着您的
nil数组中有nil元素。也许有一些关于 DBF 的东西。 -
现在我写 puts record.vorname 除非 record.vorname == nil 但得到同样的错误!
-
record为零,而不是其vorname -
谢谢,现在可以了!您可以将其发布为答案吗?你知道为什么 ö,ü,ä 显示为 吗?
标签: ruby