标签: irb

如何在IRB中重新加载脚本?

我正在编写一个用于Rails环境的Ruby脚本,但我选择从irb运行它,因为重新加载Rails控制台可能会很麻烦.现在irb的等待时间要短得多,但是我不得不重新启动irb并且每当我做出改变时都需要脚本.有没有更简单的方法从irb重新加载脚本?

我在这个帖子中找到了一个方法,但这只是显然适用于gem文件.我的require语句看起来像这样

 require "#{File.expand_path(__FILE__)}/../lib/query"
Run Code Online (Sandbox Code Playgroud)

编辑:尝试load而不是require,我仍然无法让它工作.我无法阻止这些错误.

ruby-1.9.2-p0 > load "#{File.expand_path(__FILE__)}/../lib/query.rb"
LoadError: no such file to load -- /Users/newuser/Dropbox/Sites/rails/hacknyc/(irb)/../lib/query.rb
Run Code Online (Sandbox Code Playgroud)

ruby irb

61
推荐指数
2
解决办法
4万
查看次数

如何在Ruby的IRB中启用自动完成

当我使用Merb的内置控制台时,我得到类似于标准bash提示的选项卡自动完成.我觉得这很有用,并希望在非merb IRB会话中启用它.如何在IRB中自动完成?

ruby irb tab-completion

52
推荐指数
3
解决办法
2万
查看次数

如何从正在运行的脚本中删除IRB提示符?

我可以从正在运行的Ruby脚本中转到IRB提示符吗?

我想运行一个脚本,但是然后让它在程序中的一个点上给出一个IRB提示符,其中包含程序的当前状态,但不仅仅是运行rdebug并有一个断点.

ruby irb

41
推荐指数
4
解决办法
1万
查看次数

在导轨控制台中加载和使用夹具

我想知道是否有一种方法可以在rails控制台中加载和/或使用fixture.实际上,我想从我的夹具中创建一个用户users.yml进行一些测试,而不必经历User.new(:name = "John", :email = "..")每次做的所有"痛苦" .
我目前在测试环境(rails c RAILS_ENV=test).

如果这不是一个好办法,请说出来.我是Rails的新手所以我在这里学习:)

irb fixtures ruby-on-rails-3

37
推荐指数
6
解决办法
2万
查看次数

为什么我的Ruby路径上没有当前目录?

有没有理由说我目前的工作目录不在我的Ruby路径上?

考虑:

~:499$ irb
ruby-1.9.2-p136 :002 > puts $:
/Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1
/Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby/1.9.1/x86_64-darwin10.6.0
/Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/site_ruby
/Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/vendor_ruby/1.9.1
/Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/vendor_ruby/1.9.1/x86_64-darwin10.6.0
/Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/vendor_ruby
/Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1
/Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/x86_64-darwin10.6.0
 => nil 
Run Code Online (Sandbox Code Playgroud)

这真的很困扰我,因为需要不起作用,因为我认为它会(虽然我是一个红宝石的nuby):

require 'some_file_that_I_know_darn_well_is_in_pwd.rb'
Run Code Online (Sandbox Code Playgroud)

如果我追加'.'到最后,则需求按照我的预期运行.

我错过了什么?


更新:

精氨酸!现在我遇到了一个新问题.考虑:

ruby-1.9.2-p136 :010 > `ls`
 => "start.rb\n" 
ruby-1.9.2-p136 :011 > require_relative 'start'
LoadError: cannot infer basepath
    from (irb):11:in `require_relative'
    from (irb):11
    from /Users/mrberryman/.rvm/rubies/ruby-1.9.2-p136/bin/irb:16:in `<main>'
Run Code Online (Sandbox Code Playgroud)

现在怎么了?

ruby irb

35
推荐指数
1
解决办法
2万
查看次数

如何在ruby中列出当前作用域中当前可用的对象?

我是红宝石的新手,我正在玩IRB.

我发现我可以使用".methods"方法列出对象的方法,而self.methods类似于我想要的东西(类似于Python的dir(builtins)?),但我怎样才能找到方法库/模块我通过include和require加载?

irb(main):036:0* self.methods
=> ["irb_pop_binding", "inspect", "taguri", "irb_chws", "clone", "irb_pushws", "public_methods", "taguri=", "irb_pwws",
"public", "display", "irb_require", "irb_exit", "instance_variable_defined?", "irb_cb", "equal?", "freeze", "irb_context
", "irb_pop_workspace", "irb_cwb", "irb_jobs", "irb_bindings", "methods", "irb_current_working_workspace", "respond_to?"
, "irb_popb", "irb_cws", "fg", "pushws", "conf", "dup", "cwws", "instance_variables", "source", "cb", "kill", "help", "_
_id__", "method", "eql?", "irb_pwb", "id", "bindings", "send", "singleton_methods", "popb", "irb_kill", "chws", "taint",
 "irb_push_binding", "instance_variable_get", "frozen?", "irb_source", "pwws", "private", "instance_of?", "__send__", "i
rb_workspaces", "to_a", "irb_quit", "to_yaml_style", "irb_popws", "irb_change_workspace", "jobs", "type", "install_alias
_method", "irb_push_workspace", "require_gem", …
Run Code Online (Sandbox Code Playgroud)

ruby introspection irb

34
推荐指数
4
解决办法
3万
查看次数

IRB有哪些替代品?

在python世界中,有许多替代python解释器可以添加很酷的附加功能.一个特别有用的示例是bpython,它添加了动态语法突出显示,自动提取文档,并显示实时自动完成信息.在Ruby世界中,我还没有发现任何添加到基本IRB解释器的项目,甚至是这些功能的一部分.我只是不够努力,或者这只是Ruby社区缺乏的东西?

ruby irb

33
推荐指数
2
解决办法
8115
查看次数

退格键和箭头键在Windows机器上的IRB(Git Bash控制台)中不起作用

我刚刚在Windows机器上安装了ruby 1.9.2,Backspace或任何其他箭头键都不起作用.只有当我在Git Bash控制台上打开IRB时才会发生这种情况.但它在Windows控制台上运行良好.对此有何帮助?

注意:IRB在早期版本的ruby的两个控制台上运行良好.

ruby irb git-bash

33
推荐指数
5
解决办法
1万
查看次数

如何在Rails控制台中加载环境变量?

我认为这是一个简单易行的问题!

我正在使用.env文件来保存我的所有环境变量,而我正在使用foreman.

不幸的是,运行rails控制台时没有加载这些环境变量,rails c所以我现在在运行控制台后手动加载它们,这不是最好的方法.

我想知道是否有更好的方法.

irb environment-variables ruby-on-rails-3 foreman

32
推荐指数
1
解决办法
7437
查看次数

如何在IRB/Rails控制台中抑制返回值的输出?

例如,如果我进入IRB并执行以下操作:

jruby-1.6.7 :026 > puts [1,2,3,4,5]
1
2
3
4
5
=> nil 
Run Code Online (Sandbox Code Playgroud)

反正有压制nil吗?问题是,如果我放入一个大型数据结构,它会发送一些其他不相关的返回响应.我更感兴趣的是看到调试语句的输出我在一个块中运行,并且必须不断向上滚动并查找真实数据.

ruby ruby-on-rails irb

31
推荐指数
4
解决办法
9348
查看次数