Возьмите ввод числа, итерируйте до вершины данного диапазона и выведите числа в файл - PullRequest
0 голосов
/ 21 января 2011

Я надеюсь, что мой скрипт Ruby будет начинаться с введенного числа, скажем, 100, и будет проходить до конца диапазона;1000. Имея все промежуточные числа, сохраненные в файле.

Это код, который у меня есть:

#!/usr/bin/env ruby

if ARGV.length ==0; 
 puts "Enter the start number"
 else puts ARGV.size  
ARGV.each do |a| 


for i in 0..1000 do
 puts i;

     end  
 end
end

Чтобы запустить его, я набираю:

ruby increment.rb 100 > increment.txt 

Тем не менее, он игнорирует введенный номер и начинает с 1 независимо.

Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 21 января 2011

Он начинается с 0, потому что вы задаете ему диапазон 0..1000, который начинается с 0. Если вы хотите использовать числовое значение a в качестве начальной точки, используйте a.to_i вместо 0.

1 голос
/ 21 января 2011

ARGV - это массив, и первый аргумент сохраняется в ARGV [0], второй в ARGV [1] и т. Д.

if ARGV[0]
  start = ARGV[0].to_i
else
  puts "Enter the start number"
  start = gets.to_i
end

(start .. 1000).each do |i|
  puts i
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...