Добро пожаловать!
Это немного похоже на домашнее задание, поэтому я собираюсь дать подсказки вместо прямого ответа. У вас уже есть цикл, который находит самое низкое значение, используя тест меньше чем . Вы можете расширить это, чтобы рассмотреть, что происходит, когда вы найдете значение, которое равно предыдущему наименьшему значению.
Кроме того, что произойдет, если ваши входы велики, например, [1500, 2000, 1800]?
Да можно сделать это.
Принятие ruby.rb
имеет что-то вроде этого в нем:
#!/usr/bin/env ruby
puts 'Hello world'
В командной строке: chmod +x ruby.rb
Это делает это исполняемым файлом.
Затем можно выполнить его как это:
./ruby.rb
Для получения дополнительной информации посмотрите Викиучебник.
РЕДАКТИРОВАНИЕ (Jörg W Mittag): Использование #!/usr/bin/env ruby
вместо #!/usr/bin/ruby
поскольку строка хижины является более портативной, потому что на каждом Unix произвел за прошлые 20 лет, env
команда, как известно, живет в /usr/bin
, тогда как установки Ruby обычно повсеместно. (Например, сроки службы шахты в /home/joerg/jruby-1.2.0/bin/ruby
.)
Как другие упомянули, Вы хотите иметь хижину (#!
) строка вначале и изменение полномочия к исполняемому файлу.
Я рекомендовал бы использовать #!/usr/bin/env ruby
вместо пути к Ruby непосредственно, так как это сделает Ваш сценарий более портативным к системам, которым можно было установить Ruby в различных каталогах; env
будет искать в Вашем пути поиска, и таким образом, он найдет тот же Ruby, который Вы выполнили бы, если бы Вы работали ruby
на командной строке. Конечно, это будет иметь проблемы если env
находится в другом месте, но это намного более характерно для env
быть в /usr/bin/env
чем то, чтобы Ruby был в /usr/bin/ruby
(это может быть в /usr/local/bin/ruby
, /opt/bin/ruby
, /opt/local/bin/ruby
, и т.д.)
#!/usr/bin/env ruby
puts "Hello!"
И сделайте это исполняемым файлом:
chmod +x file.rb
chmod +x/path/to/file
Никакая причина не сделать это, пока Вы снабжаете префиксом интерпретатор хижину (#!/usr/local/ruby или независимо от того, что путь находится на OSX). Оболочка не заботится.
Если Вы хотите сделать что-либо более сложное с запуском этого приложения, можно всегда создавать сценарий оболочки:
#! /bin/sh
ruby ruby.rb
При сохранении его к run_script Вы просто имеете к chmod +x его, как упомянуто ранее, то выполняете следующую команду:
$ ./run_script
Я сомневаюсь, что это будет больше полезно в Вашей конкретной ситуации, чем решения, уже упомянутые, но это стоит отметить пользой полноты.
Поместите корректную хижину как первую строку Вашего файла. исключая:
#!/usr/bin/ruby
в оболочке сделайте исполняемый файл файла
chmod +x file