Попытка запустить команду pry в пользовательской команде pry - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь немного настроить свой Pry (я использую Pry некоторое время, но это первый раз, когда я пытался создать команду.) Я хочу создать пользовательскую команду, которая будет захватывать последние пятьдесят элементовиз моей истории, и я строю это так:

Pry::Commands.block_command "fifty", "List the last fifty inputs" do
  hist --tail=50 -a
end

Как только это находится в моем файле .pryrc, он показывает, действительно ли я «помогаю пятьдесят», но если я пытаюсь запустить команду, я получаюследующее:

NameError: undefined local variable or method `a' for #<#<Class:0x007f8a1ee49aa8>:0x007f8a1e873ed0>

Я предполагаю, что есть некоторая проблема с тем, как команда находится в пределах блока выполнения, но мой поиск документации Pry не дал мне никаких идей о том, как действовать дальше.Другие команды, которые не пытаются копировать команды Pry cl, например, приведенные в примере

Pry::Commands.block_command "hello", "Say hello to three people" do |x, y, z|
  output.puts "hello there #{x}, #{y}, and #{z}!"
end

, работают просто отлично.Любой вклад приветствуется.

1 Ответ

0 голосов
/ 03 октября 2018

Вам не хватает run, что необходимо для запуска других pry команд:

Pry::Commands.block_command 'fifty', 'List the last fifty inputs' do |x|
  run 'hist --tail=50 -a'
end
...