星期五, 5月 16, 2008

[Boo]Boo(12)-函數

函數定義方法很簡單,比較特別的就是不定個數變數。


// Say
def Say( s as string):
print s

// 也是 Say
def Say( i as int):
print i

// 不定個數
def Say(*args as (object)):
print "len(args)=${len(args)}"
for arg in args:
print arg

// 求平方
def pow( i as int ) as int:
return i*i

Say( "Hello world!" )
Say( 20 )
Say( pow( 2 ) )
Say( 1, "s", join(range(10)) )

a = (5, 8, 1, "end")
Say(*a)


as string、as int...等,其實都可以省略不寫,別忘了 Boo 會自動判定。
然後有看到 Say() 定義了三次嗎?是的,Boo 支援多載(overloading)。
不定個數變數,定義的方法比較特別,要加上 *,然後用法就當作是 enumerator 來用就行了。

沒有留言: