【发布时间】:2014-02-10 02:38:06
【问题描述】:
我对 ruby 非常陌生,目前正在尝试编写一个简单的 ruby 程序,该程序从文件中读取 1 字节块,并生成每个块看到多少次的频率列表。但是,首先我只是尝试用我读入的 1 个字节来索引一个 256 个字节的数组,该数组对应于每个可能的字节值。
问题似乎在于 to_i 函数不会根据字符的二进制值转换字符,即“A”变为 0 而不是 ascii 编码的 65。我可以在这里使用 ruby 中内置的其他函数吗?
freq = Array(0..255)
File.open('temp.dat') do |file|
until file.eof?
buf = file.read(1)
puts "#{freq.at(buf.to_i)}"
end
end
【问题讨论】: