ラベル 名前渡し の投稿を表示しています。 すべての投稿を表示
ラベル 名前渡し の投稿を表示しています。 すべての投稿を表示
このページの記事一覧
● 2013年2月2日土曜日 - [Scala] 名前渡し

2013年2月2日土曜日

[Scala] 名前渡し

Scala で関数を定義する際、仮引数名と型名の間に 「 => 」を記載すると名前渡しとなり、値が必要になったときに式の値が評価される。
  var x = 1;
  
  def main(args: Array[String]) {
    x = 1;  
    notdelayed(x*2);
    x = 1;  
    delayed(x*2);
  }

  def notdelayed(value : Int) {
    x = 100;
    println("notdelayed: " + value)
  }  

  def delayed(value : => Int) {
    x = 100;
    println("delayed: " + value)
    x = 200;
    println("delayed: " + value)
  }

--------------------
notdelayed: 2
delayed: 200
delayed: 400