def func (a:Int, b:Int)これを呼び出すときに、 func(a = 1, b = 2) というように、名前を指定して値を記述することができるのです。こうすると、引数の順番などが間違っていても確実に指定の引数に値を渡すことができます。
def func(a:Int = 100, b:Int = 200)例えばこんな具合に、引数の変数(仮引数)に値を代入する形で記述をします。こうすることで、メソッドを呼び出した時、その引数の値が要されていなければ、ここで指定された初期値が自動的に代入されるようになります。
import java.util._ここでは、mainメソッドで、totalメソッドを関数オブジェクトとして定数funcに代入し利用しています。この部分を見ると、こんな具合に書かれていますね。
object myapp {
def main(args: Array[String]) = {
val rnd = new Random
val n = rnd.nextInt(100)
val func = total _
println(n + "までの合計:" + func(n))
}
def total(num: Int) = {
var res:Int = 0
for(n:Int <- Range(1,num + 1))
res += n
res
}
}
val func = total _このように、メソッド名の後にアンダースコアを付けて記述することで、そのメソッドを関数オブジェクトとして取り出すことができます。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
<< 前へ | 次へ >> |