Параметры командной строки Ruby — включение подробного режима и размещение кода в цикле ввода

Может ли кто-нибудь сказать, чем три приведенных ниже варианта отличаются друг от друга в Ruby?

Часть I

  • --подробно
  • -v
  • -w

Часть II

  • -н
  • -п

Все делают одну и ту же работу, которая является verbose режимом ON. Но логически чем они отличаются друг от друга?

Спасибо,


person Arup Rakshit    schedule 11.01.2013    source источник
comment
Недавний вопрос с использованием -n -p stackoverflow.com/questions/14075289/   -  person BernardK    schedule 11.01.2013


Ответы (1)


-v — это просто более короткий способ записи --verbose, так что это одно и то же. -w включает предупреждения, см. http://www.caliban.org/ruby/rubyguide.shtml#warnings для получения дополнительной информации о них.

Часть 2:

-n и -p не связаны с подробностями. Они просто зацикливают ваш рубиновый скрипт.

Запустите следующее с вашего терминала:

ruby -n -e "puts 'hello world'"

Теперь нажмите клавишу ввода несколько раз. Тебе следует увидеть:

hello world

hello world

hello world

Теперь сделайте то же самое для -p:

ruby -p -e "puts 'hello world'"

Это просто повторяет то, что вы набрали до нажатия Enter.

asdf
hello world
asdf

hello world

asdfs
hello world
asdfs
34644
hello world
34644
person ndbroadbent    schedule 11.01.2013
comment
Да, я только что обновил описание своего кода. part-I мне понятно. а как же part-II ? - person Arup Rakshit; 11.01.2013
comment
Ответ обновлен. Обратите внимание, что я никогда не видел, чтобы использовались параметры -n или -p. - person ndbroadbent; 11.01.2013
comment
Спасибо за помощь и разъяснения,+1 вам!Приятно познакомиться с вами на SO :) - person Arup Rakshit; 11.01.2013
comment
Редко, но не никогда :) "> stackoverflow.com/questions/14075289/ - person BernardK; 11.01.2013
comment
@ nathan.f77 кстати, какое число 34644? с вариантом -n почему hello world приходил только три раза? - person Arup Rakshit; 11.01.2013
comment
@PythonLikeYOU — 34644 — это просто случайное число, которое я ввел. И hello world появилось только 3 раза, потому что я нажимал ввод 3 раза. - person ndbroadbent; 12.01.2013