Использование пользовательского ввода в качестве параметра при запуске команды оболочки в Ruby - PullRequest
0 голосов
/ 23 февраля 2012

Когда я передаю name = a.txt, тогда ls должен взять a.txt в качестве входных данных и обеспечить правильный вывод.Это не происходитПерепробовал все возможные комбинации цитат.Я новичок в Ruby, так что прошу прощения за мою наивность.

  puts "Enter name: "
  name = gets
  name.chomp!
  puts `ls  + name`

Ответы [ 2 ]

3 голосов
/ 23 февраля 2012

Вы должны использовать

puts `ls #{name}`

Форма #{} может использоваться для вставки результата выражения ruby ​​в строку.

2 голосов
/ 23 февраля 2012

Вы должны сообщить интерпретатору, что name является переменной, и вам нужна не просто строка «name», а результат интерпретации значения, что вы делаете через # {VAR_NAME}.

puts `ls #{name}`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...