问题标签 [pry]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 如何使用 Ruby Pry 跳出循环?
我将 Pry 与我的 Rails 应用程序一起使用。我binding.pry
在模型中设置了一个循环来尝试调试问题。例如:
当我输入quit
时,它会进入下一次迭代并再次停止。有没有办法跳出循环,所以我不必输入quit
100 次?
目前我知道如何摆脱它的唯一方法是使用CTRL+C并重新启动应用程序。
ruby - 在 Ruby 的控制台上显示时在对象上调用的方法
我愿意在尝试显示一个对象时调用一个方法,但是我没有找到使用哪个方法,例如:
我想知道第一种情况调用哪种方法。
User 不是 ActiveRecord 类,它继承自 Hashie。
谢谢你的帮助!
ruby - how to change ruby version in Pry
My command line ruby is 1.9.2 thanks to RVM, yet when I launch pry (which point to a 1.9.2 gem) it uses ruby 1.8.7
Do you know where is the ruby version pry uses specified ?
ruby-on-rails - 在运行时,如何检查从哪里加载模块或类?
我有一个遗留的 Rails 应用程序,在全局命名空间中有很多有趣的(无用的)模块和类。我想知道他们需要使用哪些文件或宝石rails c
。
我知道它存在于方法 : .source_location
、和调用者对象中__line__
,__file__
但确定类或模块的来源似乎无关紧要。
有任何想法吗 ?谢谢!
使用 :
- 红宝石 1.9.2
- 撬
- 导轨 3.1.1
ruby - 有没有办法在 pry 中获取 Control+R 样式的递归命令历史搜索
我最近一直在玩 pry。很多很棒的东西,但我发现自己Control+R
从 irb 中消失了。Pry 有“hist”命令,但我仍然希望能够点击Control+R
并开始输入,而不是必须这样做hist --grep foo
。我错过了什么吗?
ruby-on-rails - 带 Pry 的 Rails 控制台
当我进入 rails 控制台时,我已经设置了 pry 来代替 irb 加载。我找不到该页面或不记得如何将其恢复为默认行为,因为它似乎干扰了我的 Rubymine 调试器。有什么建议么?
ruby - 为什么“block_given”?在调试器中返回 false?(不调试时正常工作)
使用 ruby 调试器block_given 进行测试?给出错误但仍然执行,有人可以解释一下它是如何执行的吗?它与上下文相关(调试器是否更改上下文)?如果是,那么如何找到当前上下文。
现在使用pry 然后block_given而不是ruby -debug?返回true。
ruby - 断点和irb的组合(REPL)
有时我想尝试将 IRB 与一些对象一起使用,但重现我需要的状态和上下文可能并不容易。考虑您想在 RSPec 中使用表达式的语法。所以我想实现这样的事情:
- 在我目前正在开发的 ruby 应用程序的代码中调用函数
eval_server
- 它创建服务器套接字并监听连接
- 我启动了一些类似于 IRB 的工具(我们称之为
eval_client
- 它应该被实现) - 它创建客户端套接字并连接到
eval_server
- 我输入一些红宝石表达式
eval_client
eval_client
发送给eval_server
eval_server
在调用它的对象的上下文中评估表达式,序列化结果或异常(.inspect
例如使用),并将其发送回eval_client
eval_client
显示结果
...
问题是:是否已经实施了类似的工具?如果没有,是否有一些宝石可以帮助我实现它?
我知道它可能看起来像调试器。但我不希望使用调试器启动 rails 服务器。我只想在代码中添加一个类似的内容,并在下一次请求时在该行的上下文中使用 IRB。
更新:
所以根据答案:
eval_client
=pry-remote
eval_server
=binding.remote_pry
ruby-on-rails - 为什么 Pry 不能在 Heroku 的控制台中运行?
我的目标是使用 Pry 作为我的 Rails 应用程序的控制台,无论是在本地还是在我的登台服务器上。但我无法让它在 Heroku 上工作。
我按照这些说明让 Heroku 使用 Pry 作为我的 Rails 应用程序的控制台。当我运行时heroku run console pry
,我的控制台打印Running console pry attached to terminal... up, run.1
然后退出。当我运行heroku console pry
它只是说main
然后退出。
关于我做错了什么的任何想法?
这是我到目前为止所做的:
在我的Gemfile 中,我添加了以下行:
gem 'pry'
gem 'pry-rails'
我创建了一个名为pry的文件,其中包含:
#!/usr/bin/env ruby
require 'pry'
pry
我在config/environments中的所有文件中添加了以下内容:
silence_warnings do
begin
require 'pry'
IRB = Pry
rescue LoadError
end
end
跑
bundle install
- 跑
git push staging master