def 関数名 ( 引数 ){Groovyの関数の面白いところは、このようにdefで定義するだけでなく、リテラルとして関数を記述できるという点です。こんな具合です。
……処理……
}
変数 = { ……処理…… }
def func = {変数funcを呼び出すと、消費税計算した金額が出力されます。引数として渡した値は「it」という特別な変数で取り出すことができます。このように関数を変数に代入できることで、例えば関数を引数としてわたしたり返値で返したりするメソッドも作ることができます。
def tax = 0.05
println("price: ${it * (tax + 1.0)}yen.")
}
func(12300)
def func = {ここでは変数funcに代入する関数の中で、更にreturn {……}というようにして関数を返すようにしています。そしてfuncの返値をそれぞれ変数に保管して利用します。実行すると、
def tax = it
return {
println("price: ${it * (tax + 1.0)}yen.")
}
}
def tax5 = func(0.05)
tax5(12300)
def tax10 = func(0.1)
tax10(12300)
price: 12915.00yen.こんな具合に結果が出力されることがわかります。どちらもちゃんと計算結果が表示されますね。
price: 13530.0yen.
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
関数の利用例 def func = { def tax = 0.05 println("price: ${it * (tax + 1.0)}yen.") } func(12300) ※クロージャーの利用例 def func = { def tax = it return { println("price: ${it * (tax + 1.0)}yen.") } } def tax5 = func(0.05) tax5(12300) def tax10 = func(0.1) tax10(12300)
<< 前へ |