ローカル関数便利♪

こーゆーことができるらしい。

def func1(s1:String):String={
  def func2(s2:String):String={
    def func3(s3:String):String={
      return s3+"3"
    }
    return func3(s2+"2")
  }
  return func2(s1+"1")
}

実行してみる。

scala> def func1(s1:String):String={
     |   def func2(s2:String):String={
     |     def func3(s3:String):String={
     |       return s3+"3"
     |     }
     |     return func3(s2+"2")
     |   }
     |   return func2(s1+"1")
     | }
func1: (String)String

scala> println(func1("hoge"))
hoge123