Tag: irb

Ruby数组不合作

可能重复: 什么时候ruby的Array.slice应该返回nil? 大家好……为什么当[5,1]返回[]并且[6,1]在两个起始元素明显超出范围时返回nil ? irb(main):048:0> a = [ “a”, “b”, “c”, “d”, “e” ] => [“a”, “b”, “c”, “d”, “e”] irb(main):049:0> a[0] => “a” irb(main):050:0> a[4] => “e” irb(main):051:0> a[5,1] => [] irb(main):052:0> a[6,1] => nil 谢谢!

如何避免’没有这样的文件加载 – map_by_method’脚本/控制台与bundler?

我正在运行带有捆绑器的 rails 2.3.10 。 我使用rvm ,在全球gem中通常我把gem用于irb。 默认情况下我有这些:map_by_method,what_methods,ap,net-http-spy,hirb,looksee,pp,wirble。 当我启动irb时,它所需要的gem对它来说是可用的,并且事情看起来应该如此。 但是,当我启动脚本/控制台时,它无法访问当前rvm gemset中的gems,只能访问Gemfile中定义的Gemfile 。 我收到消息no such file to load — map_by_method 。 显然我不想把那些irb特定文件放到我的Gemfile 。 你知道某种方式,如何说服脚本/控制台使用捆绑器外的gem?

Rails控制台提示,技巧和自定义

关于irb技巧的post很棒,但是如何进一步自定义Rails控制台的行为和输出呢? 令人敬畏的印刷品和Hirb很棒。 SQL日志记录对我来说是必须的。 在你的~/.irbrc粘贴中: require ‘logger’ ActiveRecord::Base.logger = Logger.new(STDOUT) if defined?(Rails) 您的首选/技巧/gem选择是什么?

为什么在控制台中不返回Active Record关系?

我终于开始将我的Rails应用程序从2.3.8升级到3.1.0。 我正在观看关于Active Record查询的RailsCasts( http://railscasts.com/episodes/202-active-record-queries-in-rails-3 )。 当我打开控制台(rails c)并执行与此类似的查询时: articles = Article.order(“name”) 我没有返回Active Record关系,而是看到了执行的查询。 我在这做错了什么? Rails版本:3.1.0 RVM on 1.9.2 谢谢您的帮助! 编辑:我添加了示例中的屏幕截图。

Rails检查IRB控制台或网页

在我的模型中,我想检查应用程序是在IRB consol内运行还是作为网站运行? class MyModel < ActiveRecord::Base def xmethod if !isIRBconsol self.user_id = UserSession.find.user.id end end end

Rails:如何取消rails控制台中的当前语句?

我正在使用Rails 2.3.8和jRuby进行项目。 我经常使用rails console来测试我的类和API,在某种程度上我遇到了一个问题。 当我在Rails控制台中工作时,如果我错误地输入了一些多行命令,有没有办法在中间某处取消它? 例如: >> [1,2,3,4].inject(1){ ?> 我发现它只是期望我完成整个完整的陈述,但我想做的就是取消所有当前的陈述。 我尝试过Ctrl + C,但它对我不起作用。 任何建议将非常感谢。

Rails控制台 – 使用image_tag方法

如何在Rails控制台中执行image_tag方法 运行控制台$ rails c 加载助手 包括ActionView :: Helpers 执行命令 IMAGE_TAG( ‘test.png’) 我有一个奇怪的错误。 请帮忙!

重新加载rails控制台

关于Rails控制台的使用,当我对模型进行一些更改时,是否每次都需要重新加载rails控制台以使该更改反映出来? 例如,我的原始代码如下: class Article true validates :body, :presence => true end 稍后,我想添加一些额外的属性,如下所示。 class Article true validates :body, :presence => true def long_title “#{title} – #{published_at}” end end 是否需要运行命令“reload!” 每次都可以做“long_title”方法调用? 否则,我将收到错误,因为该属性尚未定义。 为什么我们需要手动执行?

在处理完输入后,如何在不退出的情况下将STDin传递给IRB?

我正在使用一个简短的bash脚本来帮助我测试ruby中的链表的实现。 我知道rspec和unit testing,我确信它们是我正在尝试做的更好的选择,但我能够找出这个命令 echo “require ‘./nodes'” | irb 之后的输出是 Switch to inspect mode. require ‘./nodes’ true 从技术上讲,这是成功的,但是irb流程在那里结束。 所以我试过了 echo “require ‘./nodes'” | irb –noinspect 哪个给了我 Switch to non inspect mode. require ‘./nodes’ true 它再次退出irb过程。 我只是想让我的工作流程更方便一些,因为我喜欢使用irb来测试我的文件,看看它们发生了什么。

什么是“if / unless”等等

考虑到Ruby中的所有东西都是一个对象,我们可以打开irb并输入像4.class和”Text”.class这样的东西来查看一个对象是哪个类,为什么if.class和unless.class没有给出返回值?