Tag:

为什么撬历史会阻止历史?

当我使用撬时,撬的历史会一直覆盖我的irb历史并且非常烦人。 如果我使用撬,我想看到撬的历史,如果我使用irb,我想看看irb的历史。 我的配置中有明显的问题吗? ~/.irbrc看起来像 IRB.conf[:AUTO_INDENT] = true IRB.conf[:USE_READLINE] = true IRB.conf[:LOAD_MODULES] = [] unless IRB.conf.key?(:LOAD_MODULES) unless IRB.conf[:LOAD_MODULES].include?(‘irb/completion’) IRB.conf[:LOAD_MODULES] << 'irb/completion' end IRB.conf[:SAVE_HISTORY] = 1000 我的.pryrc文件是空的,基于docs告诉我, .pry_history应该使用.pry_history ,这似乎正在发生。 /etc/irbrc看起来像 # Some default enhancements/settings for IRB, based on # http://wiki.rubygarden.org/Ruby/page/show/Irb/TipsAndTricks unless defined? ETC_IRBRC_LOADED # Require RubyGems by default. require ‘rubygems’ # Activate auto-completion. require ‘irb/completion’ # Use […]

是否有一个可靠的工具,可以在工头服务时逐步执行代码

我正在寻找一些类似于使用binding.pry的工具的建议。 我正在本地为工作人员提供一个rails应用程序,并希望完成将“调试器”放入我的代码中的相同function,当进程点击时,冻结并打开代码段中的控制台环境。 我尝试过使用工头撬无济于事,并且好奇是否有其他已知的工具我没有通过谷歌找到? 谢谢你的建议。

如何使用pry逐步执行循环并查看迭代器的值?

我将binding.pry插入到我的Ruby程序中,并尝试在循环的每次迭代中查看迭代器的值: require ‘pry’ def longest_palindrome s max_palindrome_len = 0 for i in (0..s.length) binding.pry for j in (i..s.length) binding.pry substr = s[i..j] if substr == substr.reverse && substr.length > max_palindrome_len max_palindrome_len = substr.length end end end return max_palindrome_len end longest_palindrome “racer” 我想在循环中的每次迭代中查看i和j的值。 我确定我在这里遗漏了一些东西,但我无法从文档中弄清楚该怎么做。

如何在开发Ruby gem时添加“pry”

我有一个名为“东西”的gem。 我想在开发gem时添加pry作为开发依赖项。 但是我不知道如何加载它。 如果我在lib / something.rb中有“require something”,当我释放gem时,它会抛出一个LoadError,因为pry只是一个开发依赖项。 同时我不想在提交代码时继续添加和删除pry。 仅在开发应用程序时需要pry的最佳方法是什么,但不要求它作为gem的依赖项?

有没有办法使用击键来调用撬ruby?

我只是在考虑能够运行一个程序,然后按一下按键来调用pry和debug是多么棒。 也许有一个gem在运行时动态地注入binding.pry ,我不知道。 如果没有,你将如何在下一行即将执行的ruby脚本之前插入binding.pry ?

pry-nav意外地工作

我把binding.pry放在我的脚本中, 但现在当它停在断点处时, 向我展示了那些信息。 哪个超出我的预期,如何解决? 帧数:0/11 From: /Users/me/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/pry-nav-0.2.4/lib/pry-nav/tracer.rb @ line 21 PryNav::Tracer#run: 12: def run(&block) 13: # For performance, disable any tracers while in the console. 14: # Unfortunately doesn’t work in 1.9.2 because of 15: # http://redmine.ruby-lang.org/issues/3921. Works fine in 1.8.7 and 1.9.3. 16: stop unless RUBY_VERSION == ‘1.9.2’ 17: 18: return_value = nil 19: […]

在gem中使用Pry而无需修改Gemfile或使用`require`

我正在尝试调试Rails应用程序使用的gem。 我在当地克隆了Gem以进行撬动(并且还允许我做一些好东西,比如git bisect等) # Gemfile gem “active_admin”, path: “~/dev-forks/active_admin” 但是,我经常坚持将Pry添加到Gemfile某处以便能够使用它,或者在代码中调用require “pry” ,即使我不想在那里使用它。 例如,我有时会忘记它,修复bug,然后在Gemfile中使用Pry提交项目。 如果我不这样做,会出现LoadError , cannot load such file — pry (LoadError) 。 我必须管理我在不同的上下文(Rails项目,Gem,本地Ruby)和实际的Gems(Gemfile,require,installed)之间有点迷失。 如何在没有Gemfiles干预的情况下在Rails中的Gem中使用binding.pry?

如何调整撬色

编辑:褪色灰色只是版本0.9.7.3及之前的问题。 它已被改为深灰色。 Pry有很好的着色,但是当创建或更改对象时返回的值是褪色的灰色,我几乎看不到。 u = User.new =>#<User… <<<<<< This is what is barely readable. 我试过搞乱.pryrc中的值,但是无法改变这个,或任何其他颜色。

是否有适用于ruby 2.0的pry调试设置?

我在OSX上使用ruby 2.0.0-p195。 pry-debugger不起作用(step / continue / next似乎都像continue一样工作)。 是否有一个与ruby 2.0一起使用的pry调试gem? 更新: pry-byebug pry-debugger和pry-byebug似乎都可以在一个简单的项目中使用ruby 2.0.0-p195。 我有一些其他冲突导致在测试中使用binding.pry时都失败了… 更新: pry-byebug正在使用最新的ruby 2.0版本2.0.0-p247,使用pry-byebug 1.1.1和byebug 1.5.0

从从stdin读取的Ruby脚本调用时不要停止

我创建了一个控制台Ruby脚本,它使用ARGF从文件或stdin加载数据,然后调用Pry。 当我使用stdin传递数据时,当我传入文件(Pry暂停)但失败(Pry不会停止并退出Ruby)时,这很有用。 这很奇怪,有谁知道为什么? 我想通过stdin传递数据并让Pry暂停。 看,一个示例脚本: require ‘rubygems’ require ‘pry’ def pry_it(str) binding.pry end pry_it(ARGF.read) 当我用ARGV中的文件调用此应用程序时,我得到了正确的答案 – 撬开暂停 % bundle exec ruby pry_test.rb file.txt From: /Users/wilcoxr/Development/json_pry/pry_test.rb @ line 8 Object#pry_it: 6: def pry_it(str) 7: => 8: binding.pry 9: end [1] pry(main)> 大! 我可以随心所欲地执行Pry命令 当我尝试使用STDIN将数据发送到我的工具时: % cat file.txt | bundle exec ruby pry_test.rb From: /Users/wilcoxr/Development/json_pry/pry_test.rb @ line […]