Я написал приведенный ниже фрагмент кода в Ruby, который читает файл (файл имеет несколько чисел в каждой строке). Нижеприведенный фрагмент кода определяет, является ли число самоописывающим числом или нет?
Предполагается, что приведенный ниже фрагмент кода будет выдавать 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