コードを関数に整理する

Ruby:
コードを関数に整理する

方法:

ユーザーに挨拶する簡単なスクリプトを書いていると想像してみてください:

def greet(name)
  "Hello, #{name}!"
end

puts greet("Alice")   # 出力: Hello, Alice!
puts greet("Bob")     # 出力: Hello, Bob!

または、円の面積を計算しているかもしれません:

def circle_area(radius)
  Math::PI * radius ** 2
end

puts circle_area(5)   # 出力: 78.53981633974483

よりすっきりして扱いやすいですよね?

深堀り

関数の概念は、Rubyではメソッドとも呼ばれますが、新しいものではなく、プログラミング自体ほど古いです。1950年代にさかのぼると、冗長性を減らすために導入されたサブルーチンがありました。

代替手段?もちろん、インラインコードがありますし、クラスとオブジェクトでOOPにすることも、ラムダやprocsで関数型にすることもできます。しかし、関数は秩序あるコードの基本です。パフォーマンスが欲しいですか?関数内のローカル変数は速く、returnで直ちに値を返すことができます。

実装面では、defで関数を定義し、endで終えます。デフォルトパラメータを設定したり、可変長関数のためにスプラットオペレータを使用したりなどができます。関数は、あなたの望むほどシンプルまたは複雑にすることができます。

関連項目