attr_reader,attr_writer
919 ワード
#!/usr/local/bin/ruby -w
#
class Song
attr_reader :name,:artist,:duration
attr_writer :name
def initialize(name,artist,duration)
@name = name
@artist = artist
@duration = duration
end
#same as attr_reader:name
#def name
# @name
#end
#same as attr_writer:artist
def artist=(new_artist)
@artist=new_artist
end
def to_s
"Song:#@name--#@artist(#@duration)"
end
def duration_in_minutes
@duration/60.0
end
def duration_in_minutes=(new_duration)
@duration = (new_duration*60).to_i
end
end
song=Song.new("Bicyclops","Fleck",260)
puts song.to_s
puts song.name
song.name = "abc"
puts song.name
puts song.duration_in_minutes
song.duration_in_minutes = 6
puts song.duration_in_minutes
puts song.duration
puts song.artist
song.artist="gaga"
puts song.artist