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