今日はScalaの勉強。 名前渡しって「関数の引数を遅延評価させる」のだと思っていたのですが、ちょっと違いました。 Scalaのバージョンは2.9.2です。 まずはサンプルコード 名前渡しってそもそもどういうものか、段階的にサンプルコードを書いて確認してみます。 例えば簡単なロギングクラスを作るとします。 雛形を作成 object MyLog { val isDebug = true def main(args: Array[String]) { log("hoge") } def log(s: String) = { if(isDebug) { println("call log") println(s) } } } 本体はlogメソッドです。 このメソッドは引数に文字列を受け取り、デバッグフラグがtrueの時だけ標準出力します。 このコードを実行するとこのようになります。 call l