関数の引数は配列で渡す
ここがちょっと特徴的か?
関数のデフォルト値
def f( i, foo = "bar" ): print foo print i f(10) # # bar # 10
関数のデフォルト値2
def f( i, foo="bar", hoo="book" ): print i print foo print hoo f( 100, hoo="comic" ) #100 #bar #comic
デフォルト指定があれば引数は省略可。省略する引数にnullを入れなくて良い。
必要な要素だけ名前指定で書けばいい。
PHP なら null で埋める。
<?php public function f( $i, $foo = "var", $hoo = "comic" ){ echo $i; echo $foo; echo $hoo } f( 100, null, "comic" ); ?>
nullも省略して func( $i , , , ,); と書いても良いけれど。わかりにくくなるのでNULLつかってる。
Javascriptでもだいたい同じ。
JavaScriptはちょっと手続きが多いかな。
<script type="text/javascript"> var f = function( i, foo, hoo){ i = i; foo = foo || "var"; hoo = hoo || "book"; document.writeln(i); document.writeln(foo); document.writeln(hoo); } f( 100, null, "comic" ); </script>
Javaだと・・・タイプ量が・・考えたくない(w
関数のデフォルト値3
デフォルト値と可変引数を使うと、さぼれる。
Pythonだと楽で良いかな。JavaScriptだとfunciton.argmentオブジェクトを使う。
def f( i, *foo, **a ): for x in foo :print x print i f(10, "hoge", "moe", "tun") # hoge # moe # tun # 10