Rubyにおけるクラス
class Sample
@val
def initialize(val)
print "@val = #{@val}\n"
@val = val
print "initialized: #{@val}\n"
end
def set(newval)
@val = newval
end
def show
print "@val = #{@val}\n"
end
end
s = Sample.new(123)
# NoMethodError
# s.val = 456
s.set('abc')
s.show
実行結果
@val = initialized: 123 @val = abc
class Sample
attr_accessor :val
def initialize(val)
print "@val = #{@val}\n"
set(val)
print "initialized: #{@val}\n"
end
def set(newval)
@val = newval
end
private :set
end
s = Sample.new(123)
# NoMethodError
# s.set('abc')
s.val = 456
print "s.val = #{s.val}\n"
実行結果
@val = initialized: 123 s.val = abc