问题显示文本(来自名称文件)里面的红宝石鞋

时间:2011-08-20 18:44:55

标签: ruby shoes

首先......为我可怜的英语和我的大问题提问......问题是......

我需要创建一个小鞋子应用程序而不是在文件夹中显示excel文件(这只是一部分)...我定义了这样的方法:

def show_proov
  files = Dir.new(personal_folder).entries
  xlsxfiles = files.find_all {|file| file.include?('.xlsx') }.map do |file| file.scan(/^\w+/) end
end

如果我在警告中显示它..它工作并显示文件...到目前为止很好: 现在..问题是我希望迭代这个名称并创建一个菜单..当我尝试它时,我得到一个与“坏编码”相关的错误(抱歉,但我尝试重新创建此代码,但我再也没有收到此消息)

嗯......没问题......也许list_box可以完成这项工作:

在我的鞋子里面我定义了list_box:items => show_proov 这样做......没有什么东西在窗户内呈现......不显示任何东西

如果我使用

,也会发生同样的情况
@items=show_proov
#@items.class = array
list_box :items => @items

它没有多大意义,但我必须尝试...

感谢阅读和帮助!! :D

2 个答案:

答案 0 :(得分:0)

我认为您的问题可能是您的show_proov函数正在返回一个数组数组。

[["file1"], ["file2"], ["file3"]]

这是因为String.scan返回一个数组。尝试添加.first,就像这样:

  xlsxfiles = files.find_all {|file| file.include?('.xlsx') }.map do |file| file.scan(/^\w+/).first end

然后结果将是:

["file1", "file2", "file3"]

答案 1 :(得分:0)

如果从excel获得某些内容,编码会有所不同,请使用

.force_encoding("UTF-8")

在操作它之前从excel获得的字符串。 干杯