尝试在自定义 pry 命令中使用 运行 pry 命令
Trying to run pry command in custom pry command
我正在尝试自定义我的 Pry(使用 Pry 有一段时间了,但这是我第一次尝试创建命令。)我想创建一个自定义命令,它将获取最后一个我的历史记录中的五十个项目,我正在构建它:
Pry::Commands.block_command "fifty", "List the last fifty inputs" do
hist --tail=50 -a
end
一旦它出现在我的 .pryrc 文件中,它就会显示我是否执行 'help fifty' 但如果我尝试 运行 命令,我会得到以下信息:
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
工作正常。欢迎任何意见。
您缺少 run
,这是 运行 其他 pry
命令所必需的:
Pry::Commands.block_command 'fifty', 'List the last fifty inputs' do |x|
run 'hist --tail=50 -a'
end
我正在尝试自定义我的 Pry(使用 Pry 有一段时间了,但这是我第一次尝试创建命令。)我想创建一个自定义命令,它将获取最后一个我的历史记录中的五十个项目,我正在构建它:
Pry::Commands.block_command "fifty", "List the last fifty inputs" do
hist --tail=50 -a
end
一旦它出现在我的 .pryrc 文件中,它就会显示我是否执行 'help fifty' 但如果我尝试 运行 命令,我会得到以下信息:
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
工作正常。欢迎任何意见。
您缺少 run
,这是 运行 其他 pry
命令所必需的:
Pry::Commands.block_command 'fifty', 'List the last fifty inputs' do |x|
run 'hist --tail=50 -a'
end