scalaのデフォルトの消去記述と名前付きパラメータ

1149 ワード

package org.funmo.scala
object HelloScala {
  def main(args:Array[String]){
      //       
      decorate(str="111")
  }
  
  def decorate(str:String,left:String="[",right:String="]")={
    printf("%s,%s,%s",str,left,right)
  }
}

scala関数パラメータのパラメータ伝達方式は左から右で、上のコードの実行結果は:
111,[,],[]は既定のパラメータです.次のコードを見てください
package org.funmo.scala
object HelloScala {
  def main(args:Array[String]){
    decorate(str="111",left="222",right="333")
  }
  
  def decorate(str:String,left:String="[",right:String="]")={
    printf("%s,%s,%s",str,left,right)
  }
}

同様にパラメータ名を指定してパラメータを渡すこともできます.上記のコードの実行結果は以下の通りです.
111,222,333.
同様にパラメータ名方式でパラメータを渡す場合は、以下のコードに従ってパラメータの位置を守らなくてもよい.
package org.funmo.scala
object HelloScala {
  def main(args:Array[String]){
    decorate(str="111",right="333",left="222")
  }
  
  def decorate(str:String,left:String="[",right:String="]")={
    printf("%s,%s,%s",str,left,right)
  }
}

上記のコード実行結果も111222333です.