本文简要介绍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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。