gpt4 book ai didi

ruby-on-rails - 如何隐藏窥探范围?

转载 作者:行者123 更新时间:2023-12-04 17:48:18 25 4
gpt4 key购买 nike

有时,当我在规范中打开 binding.pry session 时,它会在 shell 中显示一个太长的范围,如下所示,并占用所有 shell 行:

[3] pry(#<RSpec::ExampleGroups::Scope::AfterSeed::BehavesLikeAnExportableToExcelModel::WhenImportingFromSpreadsheet::AXlsxFile>)>

当层级太深时,shell 将变得无法使用,并且此作用域信息变得毫无意义。我怎样才能将此作用域隐藏到类似 pry(#hidden_​​info>)> 的对象中,并且仍然拥有之前作用域中的方法和变量?

最佳答案

pry 提示可以是configured in a variety of ways .提示值可以take any arbitrary form . (限制是你可以在 Ruby 中做什么)

您可以看到 DEFAULT_PROMPTin the rdocs :

[
proc { |target_self, nest_level, pry|
"[#{pry.input_array.size}] #{pry.config.prompt_name}(#{Pry.view_clip(target_self)})#{":#{nest_level}" unless nest_level.zero?}> "
},

proc { |target_self, nest_level, pry|
"[#{pry.input_array.size}] #{pry.config.prompt_name}(#{Pry.view_clip(target_self)})#{":#{nest_level}" unless nest_level.zero?}* "
}
]

在您的情况下,您可能希望将以下内容放入 ~/.pryrc 中,然后重新启动任何窥探 session :

Pry.config.prompt = [
proc { |target_self, nest_level, pry|
"[#{pry.input_array.size}] #{pry.config.prompt_name}#{":#{nest_level}" unless nest_level.zero?}> "
},

proc { |target_self, nest_level, pry|
"[#{pry.input_array.size}] #{pry.config.prompt_name}#{":#{nest_level}" unless nest_level.zero?}* "
}
]

这会删除 Pry.view_clip(target_self) 调用,该调用将从提示中剪辑该类。

有例子here on Stack Overflow也用于配置 pry 提示。

关于ruby-on-rails - 如何隐藏窥探范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47193197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com