我试图使用以下代码从文件中读取行.但是在阅读文件时,内容都在一行中:
line_num=0
File.open('xxx.txt').each do |line|
print "#{line_num += 1} #{line}"
end
Run Code Online (Sandbox Code Playgroud)
但是这个文件分别打印每一行.
我必须使用stdin,比如ruby my_prog.rb < file.txt,我不能假设文件使用的行尾字符是什么.我该怎么处理?
为什么"啜饮"文件不是普通文本文件I/O的好习惯,何时有用?
例如,为什么我不应该使用这些?
File.read('/path/to/text.txt').lines.each do |line|
# do something with a line
end
Run Code Online (Sandbox Code Playgroud)
要么
File.readlines('/path/to/text.txt').each do |line|
# do something with a line
end
Run Code Online (Sandbox Code Playgroud) 我知道我之前已经完成了这个,并找到了一组简单的代码,但我记不起来了:(.
我有一个我要导入Rails 3应用程序的记录的文本文件.
每行代表一条记录.可能它可能是属性的制表符分隔符,但也可以只使用一个值.
我该怎么做呢?
这可能是(读:可能是)一个愚蠢的问题,但这里......
是否有一种简单的,最好是非第三方的方式在浏览器中显示Rails日志?它有点旧打开一个日志文件,然后关闭它并在下一个错误时重新打开它.当然,只需去domain.tld/logs,这将需要用户身份验证,这将是非常有用的.
filename = ARGV.first
txt = open filename
puts "Here's your file #{filename}:"
print txt.read
puts "Type the filename again: "
file_again = $stdin.gets.chomp
txt_again = open file_again
print txt_again.read
close(txt)
close(txt_again)
Run Code Online (Sandbox Code Playgroud)
程序运行正常,直到结束,但在打印第二个文件的内容后立即崩溃标题错误消息.
我使用(.class)检查了txt,txt_again并确认它们都是File对象.为什么不靠近工作?