如何使自定义方法在 Pry 控制台中可用

How to make a custom method available in Pry console

我一直在将其写入我的 Pry 控制台以找到我的应用程序范围内的堆栈跟踪:

caller.select {|line| line.include? "myapp" }

有没有办法使它成为一个方法,然后只调用类似 my_stack 的方法?

我该怎么做?

在您的主目录 (~) 中,您可以创建一个名为 .pryrc 的文件并在其中放置一个 Ruby 函数:

def my_stack(app_name = '')
  caller.select {|line| line.include? app_name }
end

并且您可以使用 Pry 中的 my_stackmy_stack('myapp')

基于,我在~/.pryrc中添加了以下内容:

def my_stack(needle = File.basename(Dir.getwd))
  caller.select {|line| line.include? needle }
end

默认情况下,范围将是应用程序所在的目录 运行。