Tag: irb

在模块化Sinatra应用程序中访问irb

我正在构建一个像Sinatra这样的子类的应用程序: require ‘rubygems’ require ‘sinatra/base’ require ‘sinatra/assetpack’ class App < Sinatra::Base … run! end 我怎样才能访问irb? 以这种方式执行sinatra时不解析选项,如何以编程方式打开irb shell?

从irb获取所有局部变量或可用方法?

当我进入irb并输入一个不存在的命令时,我得到一个错误说明 “undefined local variable or method ‘my_method’ for main:Object (NameError)” 有没有办法获得可用的局部变量或方法的列表? 这对于探索ruby非常有用。

带有RVM的Ruby 1.9.3 IRB中的Unicode字符

更新 :我发现几乎完全相似的问题 ,但它有一些不同的先决条件,因此无济于事。 鉴于: MacOS Lion 10.7.3 rvm 1.14.2 ruby 1.9.3p194 (2012-04-20修订版35410)[x86_64-darwin11.3.0] 使用以下行安装Ruby: rvm install 1.9.3 –with-readline-dir=/usr/local/Cellar/readline/6.2.2/ 当我启动irb或rails c并开始输入unicode字符时,我得到: \U+FFD0\U+FFBF\U+FFD1\U+FFD0\U+FFB8\U+FFD0\U+FFBC\U+FFD0\U+FFB5\U+FFD1 在Ruby / Rails控制台上键入时,如何正确显示unicode字符? PS在终端的bash会话中键入相同的字符会导致正确的输出。 PPS只是要清楚 – 在控制台中我输入俄语字符:它们被认为是unicode符号吗?

如果我没有指定,如何将传递给IRB?

以来: irb –help 用法:irb.rb [options] [programfile] [参数] 我知道如果我包含一个程序文件,我可以将参数传递给ARGV 例如: irb test.rb ABC test.irb只是“p ARGV” 生产: [“a”,“b”,“c”] 使程序文件成为DOS中的con …我可以做以下 irb con ABC con(main):001:0> ARGV 生产: ARGV => [“A”,“B”,“C”] 但这是系统依赖的,并具有回声输入的副作用:-( 我真正喜欢的是什么 irb — abc 顺便说一句:我知道我可以在irb中设置ARGV,但我的意图是别名特殊== irb -rSpecialLibrary“所以我可以这样做: special ABC 有什么建议?

我如何在Ruby中反省内容?

例如,在Python中,如果我想获取对象的所有属性,我可以做这样的事情: >>> import sys >>> dir(sys) [‘__displayhook__’, ‘__doc__’, ‘__excepthook__’, ‘__name__’, ‘__package__’, ‘__stderr__’, ‘__stdin__’, ‘__stdout__’, ‘_clear_type_cache’, ‘_current_frames’, ‘_getframe’, ‘api_version’, ‘argv’, ‘builtin_module_names’, ‘byteorder’, ‘call_tracing’, ‘callstats’, ‘copyright’, ‘displayhook’, ‘dont_write_bytecode’, ‘exc_clear’, ‘exc_info’, ‘exc_type’, ‘excepthook’, ‘exec_prefix’, ‘executable’, ‘exit’, ‘flags’, ‘float_info’, ‘getcheckinterval’, ‘getdefaultencoding’, ‘getdlopenflags’, ‘getfilesystemencoding’, ‘getprofile’, ‘getrecursionlimit’, ‘getrefcount’, ‘getsizeof’, ‘gettrace’, ‘hexversion’, ‘maxint’, ‘maxsize’, ‘maxunicode’, ‘meta_path’, ‘modules’, ‘path’, ‘path_hooks’, ‘path_importer_cache’, ‘platform’, ‘prefix’, […]

如何使Irb不打印对象属性

我想irb默认不打印我的对象属性。 那可能吗? 例如,我有: class Test @tmp = nil def initialize(str) @tmp = str self end end 我得到: irb> t = Test.new(“hello”) => # 我不想看到@tmp=”hello”部分。

如何在IRB中要求ActiveRecord

我想在我的IRB会话中加载ActiveRecord gem,但以下内容不起作用: require ‘activerecord’ 2.4.1 :004 > require ‘activerecord’ LoadError: cannot load such file — activerecord from /Users/robskrob/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require’ from /Users/robskrob/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require’ from (irb):4 from /Users/robskrob/.rvm/rubies/ruby-2.4.1/bin/irb:11:in `’ 这也不是: 2.4.1 :018 > require ‘activerecord-5.1.2′ LoadError: cannot load such file — activerecord-5.1.2 from /Users/robskrob/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:120:in `require’ from /Users/robskrob/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:120:in `require’ from (irb):18 from /Users/robskrob/.rvm/rubies/ruby-2.4.1/bin/irb:11:in `’ 这是我在irb中的gem路径: 2.4.1 :012 > […]

ruby和nor irb都不能在当前目录中加载.rb文件

我在Ruby中导入文件时遇到了麻烦。 我在Windows XP中制作一个Ruby应用程序。 该应用程序的所有类文件都在”C:/Documents/Prgm/Surveyor_Ruby/lib” 。 但是当我require另一个文件中的文件时,ruby和irb都不能找到所需的文件。 当前目录的内容: C:\Documents\Prgm\Surveyor_Ruby\lib>dir Volume in drive C has no label. Volume Serial Number is AAAA-BBBB Directory of C:\Documents\Prgm\Surveyor_Ruby\lib 10/09/2010 06:32 PM . 10/09/2010 06:32 PM .. 10/08/2010 03:22 PM 5,462 main (commented).rb 10/08/2010 03:41 PM 92 question.rb 10/08/2010 09:06 PM 2,809 survey.rb 10/09/2010 06:25 PM 661 surveyor.rb 10/08/2010 01:39 PM […]

如何为rails控制台创建自定义方法?

当我在Ubuntu中使用Rails控制台进行长时间会话时,我定义了clear方法: def clear; system ‘clear’ end 因此,当我的控制台变脏时,我唯一需要做的就是键入clear并清除控制台。 我想使用这个函数,而不是每次都重新输入它。 提前致谢。

要求命令在Snow Leopard上的bash irb中不起作用

我正在研究Zed Shaw的“学习Ruby艰苦之路”练习25 http://ruby.learncodethehardway.org/ex25.html 当我导航到保存ruby文件ex25.rb的目录并启动IRB时,我收到以下错误: Larson-2:~ larson$ cd Ruby Larson-2:Ruby larson$ ls ex25.rb Larson-2:Ruby larson$ irb ruby-1.9.2-p290 :001 > require ‘ex25′ LoadError: no such file to load — ex25 from /Users/larson/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require’ from /Users/larson/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require’ from (irb):1 from /Users/larson/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in `’ ruby-1.9.2-p290 :002 > 似乎require命令在这里不起作用。 有什么我想念的吗? 我也尝试按照建议要求’./25’并得到以下错误: Larson-2:Ruby larson$ irb ruby-1.9.2-p290 :001 > require ‘./ex25’ SyntaxError: /Users/larson/Ruby/ex25.rb:1: […]