!Mac OS X-10.13.3 !ruby-2.7.0p0
前回の挨拶するプログラムを関数化したりclass化して見ます.
methodにする.
前回の名前を受け取って挨拶を表示した際,手順は'名前を受け取る'->'挨拶をする'だったので,今回はこれを勉強のために関数化します.
hello_method.rb
def get_name()
name = ARGV[0]
return name
end
これで,main文のところで呼び出すだけで名前をゲットできる.
name = get_name()
少し工夫して,入力がなければ世界に挨拶できるようにします.
hello_method.rb
def get_name()
name = ARGV[0] || "world"
return name
end
次に挨拶のところを,関数化します.
hello_method.rb
def greeting(name)
puts "Hello #{name}."
end
これで完成.main文で
name = get_name()
greeting(name)
とすれば表示してくれる.
classにする
classにすると他のプログラムに持って行くときに楽になる.
今回は,上記で作った関数にmain文の内容をinitializeに書けばいいと思うのでそうする.
コードは
hello_class.rb
class Greeter
def initialize()
name = get_name()
greeting(name)
end
def get_name()
name = ARGV[0] || "world"
return name
end
def greeting(name)
puts "Hello #{name}."
end
end
これで,main文にてclassを呼び出せばいい.
Greeter.new()
- source ~/Github/grad_members_20f/members/yamatoken/items/class_and_method.org