Ruby编程之freeze案例详解

a = [ "a", "b", "c" ]
a.freeze
a.append("d")
puts(a)
b = [ 1,3,5]
b.freeze
b.append(6)
puts(b)
module One
  Two = 2
  def three; 3 end
  @four = 4
  @@five = 5
  $six = 6
end
seven = 7

puts(One.constants)
# => [:Two]
puts(One.instance_methods(true))
# => [:three]
puts(One.instance_variables)
# => [:@four]
puts(One.class_variables)
# => [:@@five]
puts(global_variables.grep(/six/))
# => [:$six]
puts(local_variables)
# => [:seven]
D:\Ruby30-x64\bin\ruby.exe C:/Users/Administrator/RubymineProjects/untitled/Ruby/freezeThread.rb
C:/Users/Administrator/RubymineProjects/untitled/Ruby/freezeThread.rb:3:in `push': can't modify frozen Array: ["a", "b", "c"] (FrozenError)
        from C:/Users/Administrator/RubymineProjects/untitled/Ruby/freezeThread.rb:3:in `<main>'
D:\Ruby30-x64\bin\ruby.exe C:/Users/Administrator/RubymineProjects/untitled/Ruby/freezeThread.rb
C:/Users/Administrator/RubymineProjects/untitled/Ruby/freezeThread.rb:3:in `push': can't modify frozen Array: [1, 3, 5] (FrozenError)
        from C:/Users/Administrator/RubymineProjects/untitled/Ruby/freezeThread.rb:3:in `<main>'
Two
three
@four
@@five
$six
seven

开发工具:RubyMine 2022.2.1
参考文献:https://vimsky.com/examples/usage/ruby-Object-method-i-freeze-rb.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值