Perl6 的函式內部,可以再定義其他函式,稱為 nested 巢狀函式。
用例:兩層的
sub levv { say "level 1"; sub levv2 { say "level 2"; } } # 叫用 levv 函式: levv()(); # => 結果: # level 1 # level 2
三層的行不行呢?當然可以,如下所示:
sub levvv { say "level 1"; sub lev2 { say "level 2"; sub lev3 { say "level 3"; } } }
那麼,這個要怎麼叫用?
答案是,再多加一層 () 即可。 🙂
# 叫用 levvv 函式: levvv()()(); # => 結果: # level 1 # level 2 # level 3
其他多層的,就依此類推囉。