【问题标题】:Is there a way to have your comments show up after you put them in an output file?有没有办法让您的评论在您将它们放入输出文件后显示?
【发布时间】:2014-11-08 11:39:46
【问题描述】:

在我的 Ruby 文件中,我有多个 cmets,我将输出保存到一个文本文件中,我想知道是否有任何方法可以让 cmets 显示在我的新输出文件中。 mysql 有一种方法可以做到这一点,它在命令行中使用--comments。我想知道Ruby是否有类似的东西。

例如,我希望我的姓名和实验室名称显示在 lab1.txt 文件中:

我的 Ruby 代码:

#My name
#lab1.rb
#description

#part 1
puts "hello world!"

#part 2
puts "hello world".length

将输出保存到另一个文件中:

ruby lab1.rb > lab1.txt

【问题讨论】:

  • 根据定义,解释器忽略 cmets。
  • 不,没有。不要为此使用 cmets,请使用 puts

标签: ruby command-line comments


【解决方案1】:

标准输出重定向时添加行

Ruby 解释器忽略 cmets。虽然您不能让解释器自动打印 cmets,但您当然可以添加仅在您的代码重定向标准输出时打印附加信息的代码(例如,当管道输出到文件时)。例如:

if ! $stdout.tty?
  puts 'Name: John Doe'
  puts 'Lab:  lab1'
  puts
end

puts 'Hello, world!'
puts 'Hello, world!'.length

在没有重定向的情况下运行时,您只会看到最后两行的输出:

$ ruby redirection.rb 
Hello, world!
13

当重定向到文件或管道时,if 语句中的代码也会被重定向:

$ ruby redirection.rb | tee /tmp/lab1.txt
Name: John Doe
Lab:  lab1

Hello, world!
13

【讨论】:

    猜你喜欢
    • 2014-03-02
    • 2020-04-05
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    • 2017-11-08
    • 2021-09-23
    • 2016-01-10
    • 1970-01-01
    相关资源
    最近更新 更多