Ruby 如何中断试图打开文件的程序

Ruby 如何中断试图打开文件的程序,ruby,Ruby,我们正在让一个程序写入我电脑上的一个文件,基本上只有一个部分我不知道它是如何工作的 在程序打开文件之前,程序允许我按Return键继续打开文件,从而删除内容。或者我可以按ctrl+C来中断我的程序。我很感谢这里的任何输入,因为我似乎真的找不到关于这个特定函数的任何东西 filename = ARGV.first puts "We're going to erase #{filename}" # This is the part I can't find out how it works. pu

我们正在让一个程序写入我电脑上的一个文件,基本上只有一个部分我不知道它是如何工作的

在程序打开文件之前,程序允许我按
Return
键继续打开文件,从而删除内容。或者我可以按ctrl+C来中断我的程序。我很感谢这里的任何输入,因为我似乎真的找不到关于这个特定函数的任何东西

filename = ARGV.first
puts "We're going to erase #{filename}"

# This is the part I can't find out how it works.
puts "If you dont want that press ctrl-c (^C)."
puts "If you do want that press RETURN."
$stdin.gets

Ruby
获取
读取一行文本。在文件上调用时-它读取该文件的一行。在您的情况下,当调用
$stdin
时,它从标准输入(控制台)读取一行

如果按Enter键,程序将读取空行并继续执行。如果按Ctrl+C,将向程序发送一个信号,该信号使程序停止执行。您可以在程序执行的任何时刻按Ctrl+C,它将停止(除非信号在程序中处理,但这里不是这样)

另见:


    • Ruby
      获取
      读取一行文本。在文件上调用时-它读取该文件的一行。在您的情况下,当调用
      $stdin
      时,它从标准输入(控制台)读取一行

      如果按Enter键,程序将读取空行并继续执行。如果按Ctrl+C,将向程序发送一个信号,该信号使程序停止执行。您可以在程序执行的任何时刻按Ctrl+C,它将停止(除非信号在程序中处理,但这里不是这样)

      另见:


      谢谢你的回答。最后一个问题。代码中的(^)部分是否真的是致命的?如果你引用的是从<代码>开始的代码,不,它只是将被打印在屏幕上的字符串的一部分。@ ByyyLysSon LundGen如果答案是有用的,请考虑接受它(除了箭头之外的绿色蜱)谢谢大家!我想这次我正确地接受了。谢谢你的回答。最后一个问题。代码中的(^)部分是否真的是致命的?如果你引用的是从<代码>开始的代码,不,它只是将被打印在屏幕上的字符串的一部分。@ ByyyLysSon LundGen如果答案是有用的,请考虑接受它(除了箭头之外的绿色蜱)谢谢大家!我想这次我正确地接受了它。as“break”已经存在了几十年,尽管它是命令行特有的东西。使用它作为“中止”操作的一种方式在这里是非常不标准的,正常的方法是要求“键入yes以确认”,除非输入完全是“yes”,否则不做任何事情。我明白了。如果在我继续学习的过程中没有将其引入课程,我会考虑这个问题。谢谢as“break”已经存在了几十年,尽管它是命令行特有的东西。使用它作为“中止”操作的一种方式在这里是非常不标准的,正常的方法是要求“键入yes以确认”,除非输入完全是“yes”,否则不做任何事情。我明白了。如果在我继续学习的过程中没有将其引入课程,我会考虑这个问题。谢谢