ruby - 尝试在自定义 pry 命令中运行 pry 命令
问题描述
我正在尝试自定义我的 Pry (使用 Pry 有一段时间了,但这是我第一次尝试创建命令。)我想创建一个自定义命令,它将从我的历史记录中获取最后 50 个项目我正在像这样构建它:
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
工作得很好。任何输入表示赞赏。
解决方案
您缺少run
运行其他pry
命令所需的内容:
Pry::Commands.block_command 'fifty', 'List the last fifty inputs' do |x|
run 'hist --tail=50 -a'
end
推荐阅读
- react-native - React Native 如何在不转到该屏幕的情况下将道具传递到另一个屏幕
- gensim - Mallet 中的一致性和诊断文件
- java - UDP 服务器无法正确发回音频
- c++ - 如何用随机值填充数组
- kotlin - 带有 catch 运算符的 Kotlin Flow 仍然完成
- python - 我的 colab 笔记本崩溃了,我该如何解决?
- php - 成功提交后隐藏登录表单
- google-apps-script - 我不知道为什么这个脚本忽略了向某些收件人发送电子邮件
- laravel - 卡到尽头怎么回线?
- python - 如何将边界框转换为 COCO.json 中的实例分割?