2017-03-05 7 views
0

私はSwiftメソッドで設定できるパラメータの最大量とその制限について興味がありますか?私はそれがJavaでC#でどのように行われたかについての情報を読んで、それがSwiftでもどのように行われているか知りたいと思っています。Swiftのメソッドが持つことができるパラメータの最大数は何ですか?なぜですか?

+2

Swiftはオープンソースなので、深く興味があればソースを調べることができます。 – matt

+0

正しい答えがあるかどうかはわかりませんが(iOSとにかく)メモリが制約されている可能性があります。デフォルトでは、Swiftパラメータは値渡しと読み込み専用ですが、* inout *を使うこともできますが、*正確には "参照で"(メモリ内のものをコピーします)、あなたの質問に対する回答は根本的に変わります。最後に、配列、型、タプルは何と考えていますか?だから私はあなたが正確な答えを与えることができる前にあなたの質問をさらに定義する必要があると思います.... – dfd

+0

@matt私はそれを知っているが、おそらく誰かがこれを調査し、経験を共有することができますのでこれを尋ねる。 –

答えて

4

なぜパラメータの数に任意の制限があると思いますか? Swiftの言語リファレンスには、特に制限はありません。

parameter-clause → (­)­ | (­parameter-list­)­ 
parameter-list → parameter­ | parameter­,­parameter-list 

それはもちろん、それを制限することになる、メモリが使い果たされる前に、(有限長にこれを制限し、いくつかのコンパイラの実装の詳細がありますいる可能性があります:あなたはgrammarを見れば、パラメータ句は次のように再帰的に定義されています練習)、私は1つのことを認識していないので、なぜそれが期待されるのかは不明です。確かにそれに頼ることはできませんでした。

ASTを見ると、そのレベルでの任意の制限の証拠はありません。期待どおり、動的に割り当てられたリストに見えます。

関連する問題