草庐IT

ruby - 如何获得 "irb(main):001:0>"提示而不是 ">>"

Ruby预装在我的Mac上,所以我想看看它。我注意到的第一件事是irb提示>>而不是irb(main):001:0>。我找不到任何关于如何用谷歌改变这个的东西,因为每个人都在他们的代码中使用irb(main):001:0>;-)你能帮帮我吗?PS:并不是我认为Ruby坏了,而是我想在编程时看起来更Nerd;-) 最佳答案 $irb--helpUsage:irb.rb[options][programfile][arguments]--promptprompt-mode--prompt-modeprompt-modeSwitchpro

ruby - 我如何在 irb 中使用 Nokogiri?

我正在尝试:require'nokogiri'在irb中,没有成功。Nokogirigem已安装。来自:gemlist--local我得到:nokogiri(1.4.4,1.4.3.1)但是当我尝试在irb中“要求”它时,我得到:LoadError:没有要加载的文件--nokogiri来自(irb):8:在“要求”中来自(IRB):8来自:0Nokogiri“住在”:/opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/nokogiri-1.4.4/lib在我的系统上。另外,我的GEMPATH(来自gemenv)是:/opt

ruby - rvm、irb 和 require - 不适用于 irb 下已安装的 gem

我今天刚刚安装了rvm,它看起来非常方便/强大。我想我已经掌握了窍门,但是......当使用安装了rvm的ruby​​并运行irb时,当我需要安装的gem时,比如“rvm”,我得到:>kimptoc$rvmuse1.8.7Using/Users/kimptoc/.rvm/gems/ruby-1.8.7-p302>kimptoc$gemlist***LOCALGEMS***abstract(1.0.0)...rvm(1.0.11)...>kimptoc$irbruby-1.8.7-p302>require'rvm'LoadError:nosuchfiletoload--rvmfrom(i

ruby-on-rails - Ruby Iconv 可与 irb 和 ruby​​ 调试器一起使用,但不能用于单元测试

我在Ubuntu10.0464位上运行Ruby1.8.7和Rails2.3.5。我编写了一个方法,该方法应采用这样的字符串"ÉcoleÀlaDécouverte"并输出这样的文件系统名称"ecole_a_la_decouverte":(Iconv.new('US-ASCII//TRANSLIT','utf-8').iconv"ÉcoleÀlaDécouverte").downcase.split.join('_')当我在代码中测试这一行时,测试总是失败,提示"cole_la_dcouverte"不等于"ecole_a_la_decouverte"。奇怪的是,如果我插入调试器行并使用调试

ruby - 如何确保 irb 接受表情符号输入而不是转义它?

我有两台mac,从一台我可以愉快地将我喜欢的所有表情符号输入irb、pry等等,然后像处理任何其他字符串一样处理它们.在较新的Mac上,可能有一些较少的自定义编码配置,我不能这样做,我不确定为什么。$ruby-vruby2.1.1p76(2014-02-24revision45161)[x86_64-darwin14.0]这是该问题的动画GIF:这是irb正常工作的动画GIF:关于如何解决这个问题的任何想法?我不是Ruby编码设置(UTF等)方面的专家。 最佳答案 确保Ruby是使用GNUReadline编译的。当rvm编译Ruby

ruby - 要求 ruby​​gems 在 irb 中工作但在脚本中不工作

我有Ubuntu9.04ruby1.8Rubygems1.3.5在irb中,irb(main):002:0>require'rubygems'=>true在脚本中$./test.rb./test.rb:2:in`require':nosuchfiletoload--rubygems(LoadError)from./test.rb:2$gemenvironmentRubyGemsEnvironment:-RUBYGEMSVERSION:1.3.5-RUBYVERSION:1.8.6(2009-08-04patchlevel383)[i686-linux]-INSTALLATIONDIRE

ruby - 当我在 IRB 中声明时,为什么我的顶级方法在所有类上都是公开的(而不是私有(private)的)?

我目前正在阅读“TheWell-GroundedRubyist”,在第196页我看到以下内容:Supposeyoudefineamethodatthetoplevel:deftalkputs"Hello"end....AmethodthatyoudefineatthetoplevelisstoredasaprivateinstancemethodoftheObjectclass.Thepreviouscodeisequivalenttothis:classObjectprivatedeftalkputs"Hello"endend...Toillustrate,let'sextendth

ruby - vi readline 支持 jruby 的 irb

我最近开始使用jruby。在正常的ruby​​的irb中,由于.editrc文件,我得到了vireadline支持.editrc文件绑定(bind)-v但是jruby似乎没有使用那个文件,也没有从.inuptrc文件中获取vireadline。有没有办法在jirb中获得vireadline支持? 最佳答案 JRuby不使用libedit或readline,因此不会读取这些文件。另外,JRuby不支持vi编辑模式。irb(main):001:0>Readline.vi_editing_mode?NotImplementedError:

ruby-on-rails - 在 Ruby on Rails IRB 中停止加载脚本执行的最佳方法

寻找在RubyonRails的IRB中退出加载脚本的最佳方式。Kernel.exit和Kernel.abort会让你完全退出IRBsession。理想情况下,这会在某些条件条件下发生。我的脚本/my_script.rb:puts"MyScriptisrunning!"#ifsomecriteria,stopexecutionofthisscriptwithoutstopingIRBputs"Thiswillneverhappen"理想的结果:$railsconsoleirb(main):001:0>load'script/my_script.rb'MyScriptisrunning!i

Ruby:如何将命名空间类包含到 IRB 中的全局命名空间中

出于某种原因,我想使用带命名空间的类/模块,因为它们位于IRB的全局命名空间中。例如我有模块MyCore和类MyUser里面。IRB是否有任何机制或Hook以某种方式包含MyCore::MyUser我可以只调用MyUser.new而无需使用MyCore作为前缀? 最佳答案 你可以简单地做includeMyCoremyUser=MyUser.new使用include将模块中的所有常量添加到您当前的类中。classWhereIWantToIncludeMyCoreincludeMyCoredefinitializeuser=MyUser