函數定義方法很簡單,比較特別的就是不定個數變數。
// 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 來用就行了。