尝试在自定义pry命令中运行pry命令

时间:2018-10-02 15:47:58

标签: ruby pry

我正在尝试对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 :(得分:2)

您缺少运行其他pry命令所需的run

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