本文簡要介紹ruby語言中 Binding.irb
的用法。
用法
irb()
打開調用 binding.irb
的 IRB 會話,該會話允許交互式調試。您可以調用當前範圍內可用的任何方法或變量,並在需要時改變狀態。
給定一個名為 potato.rb
的 Ruby 文件,其中包含以下代碼:
class Potato
def initialize
@cooked = false
binding.irb
puts "Cooked potato: #{@cooked}"
end
end
Potato.new
運行 ruby potato.rb
將打開一個調用 binding.irb
的 IRB 會話,您將看到以下內容:
$ ruby potato.rb From: potato.rb @ line 4 : 1: class Potato 2: def initialize 3: @cooked = false => 4: binding.irb 5: puts "Cooked potato: #{@cooked}" 6: end 7: end 8: 9: Potato.new irb(#<Potato:0x00007feea1916670>):001:0>
您可以鍵入任何有效的 Ruby 代碼,它將在當前上下文中進行評估。這使您無需重複運行代碼即可進行調試:
irb(#<Potato:0x00007feea1916670>):001:0> @cooked => false irb(#<Potato:0x00007feea1916670>):002:0> self.class => Potato irb(#<Potato:0x00007feea1916670>):003:0> caller.first => ".../2.5.1/lib/ruby/2.5.0/irb/workspace.rb:85:in `eval'" irb(#<Potato:0x00007feea1916670>):004:0> @cooked = true => true
您可以使用exit
命令退出 IRB 會話。請注意,退出將在 binding.irb
暫停的位置恢複執行,正如您在此示例中從打印到標準輸出的輸出中看到的那樣:
irb(#<Potato:0x00007feea1916670>):005:0> exit Cooked potato: true
有關詳細信息,請參閱 IRB。
相關用法
- Ruby Binding.local_variable_defined?用法及代碼示例
- Ruby Binding.local_variable_set用法及代碼示例
- Ruby Binding.local_variables用法及代碼示例
- Ruby Binding.eval用法及代碼示例
- Ruby Binding.local_variable_get用法及代碼示例
- Ruby Binding類用法及代碼示例
- Ruby BigMath.cos用法及代碼示例
- Ruby BigDecimal.self >用法及代碼示例
- Ruby BigMath.sin用法及代碼示例
- Ruby BigDecimal.self >=用法及代碼示例
- Ruby BigDecimal.floor用法及代碼示例
- Ruby BigDecimal.to_s用法及代碼示例
- Ruby BigDecimal.to_d用法及代碼示例
- Ruby BigDecimal.save_rounding_mode用法及代碼示例
- Ruby BigDecimal modulo用法及代碼示例
- Ruby BigDecimal infinite?用法及代碼示例
- Ruby BigDecimal.to_digits用法及代碼示例
- Ruby BigDecimal.add用法及代碼示例
- Ruby BigDecimal.save_exception_mode用法及代碼示例
- Ruby BigDecimal to_f()用法及代碼示例
- Ruby BigDecimal to_r()用法及代碼示例
- Ruby BigDecimal exponent用法及代碼示例
- Ruby BigDecimal.ceil用法及代碼示例
- Ruby BigDecimal log()用法及代碼示例
- Ruby BigDecimal sub()用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Binding.irb。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。