gpt4 book ai didi

用于确定自描述数字的 ruby 代码 - 退出状态问题

转载 作者:数据小太阳 更新时间:2023-10-29 08:53:48 24 4
gpt4 key购买 nike

我用 Ruby 编写了下面的代码片段来读取文件(文件的每一行都有一些数字)下面的代码片段确定数字是否为 self-describing number。还是不是?

如果数字是自描述数字,下面的代码片段应该产生输出 1,如果数字不是自描述数字,则输出 0。

代码似乎在我的本地机器上运行良好,但是当我将它提交给接受这些问题解决方案的在线挑战时,它要求退出状态为 0。

所以,我在最后添加了这一行:

system(exit 0)

但我对这个问题的解决方案仍然因为退出状态问题而失败。一个快速的 bash 命令如下:

jasdeep:code$ ./self-def.rb myfile.txt ; echo $?

在输出结束时返回 0 - 这意味着程序实际上以退出状态 0 退出。

我在退出状态上做错了吗?

#!/usr/local/bin/ruby

filename = ARGV[0]

file = File.new(filename, "r")
while (line = file.gets)
array = line.scan(/./)
new_array = Array.new
array.length.times do |var|
new_array << array.count(var.to_s).to_s
end
if new_array.eql? array
puts "1"
else
puts "0"
end
end
file.close

最佳答案

默认情况下,如果您的脚本在执行期间没有出现异常,或者您没有以特定代码退出,您的应用程序的退出代码将为 0。我认为这是每种编程语言的标准。

例如,要在 Windows 上进行测试:

c:\> ruby my_script.rb
c:\> echo %errorlevel%
0

在 Unix 系统上:

$ ruby my_script.rb
$ echo $?
0

因此,如果您的脚本中不会发生意外情况,那么问题出在(正如您自己发现的)服务器端。

关于用于确定自描述数字的 ruby 代码 - 退出状态问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6522345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com