如何在Ruby中检查ARGF是否为空
发布时间:2020-12-16 23:10:46 所属栏目:百科 来源:网络整理
导读:我想像这样对待ARGF. # file.rbif ARGF.??? puts ARGF.readelse puts "no redirect."end$echo "Hello world" | ruby file.rbHello world$ruby file.rbno redirect. 我需要做的不用等待用户输入.我试过eof?还是关闭?没有帮助.有任何想法吗? 注意我误解了AR
我想像这样对待ARGF.
# file.rb if ARGF.??? puts ARGF.read else puts "no redirect." end $echo "Hello world" | ruby file.rb Hello world $ruby file.rb no redirect. 我需要做的不用等待用户输入.我试过eof?还是关闭?没有帮助.有任何想法吗? 注意我误解了ARGF.请看下面的评论. 解决方法
基本上你会检查#filename.一种方法是:
if ARGF.filename != "-" puts ARGF.read else puts "no redirect." end 这是更完整的形式: #!/usr/bin/env ruby if ARGF.filename != "-" or (not STDIN.tty? and not STDIN.closed?) puts ARGF.read else puts "No redirect." end 另一个: #!/usr/bin/env ruby if not STDIN.tty? and not STDIN.closed? puts STDIN.read else puts "No redirect." end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |