return と finally (ensure)

return と ensure 節 - #!/usr/bin/env japanese - Teq.g

これを Scala で書いてみた。

object ReturnEnsureSample {
  def main(args: Array[String]) = {
    println("yuno => " + yuno)
    println("miyako => " + miyako)
    println("hiro => " + hiro)
    println("sae => " + sae)
  }

  def yuno: Boolean = {
    try {
      true
    } finally {
      false
    }
  }

  def miyako: Boolean = {
    try {
      return true
    } finally {
      return false
    }
  }

  def hiro: Boolean = {
    try {
      return true
    } finally {
      false
    }
  }

  def sae: Boolean = {
    try {
      true
    } finally {
      return false
    }
  }
}

// yuno   => true
// miyako => false
// hiro   => true
// sae    => false

実行結果は Ruby のときと同じ。