私はSwiftを初めて使っています。関数を標準の1つの値だけで返すことは可能ですか、場合によっては2または3の値で返すことは可能ですか?あなたはタプルを返すことができいくつかの状況で1つの値を返す関数は、2または3の値を返します(その逆もあります)。
0
A
答えて
2
:
func functionThatReturnsTuple(numberOfElementsToReturn: Int) -> (String?, Int?) {
if numberOfElementsToReturn == 1 {
return ("One", nil)
}
if numberOfElementsToReturn == 2 {
return ("One", 2)
}
return (nil, nil)
}
あなたは配列を返すことができます。両方の例はoptionalsを使用することを
func functionThatReturnsArray(numberOfElementsToReturn: Int) -> [String] {
if numberOfElementsToReturn == 3 {
return ["One", "Two", "Three"]
}
....
return []
}
が注目して、それらを処理するようにしてください。ちょうどif case
のswitch
とValue
のケースを確認し
enum Value<A, B, C> {
case single(A)
case pair(A, B)
case triplet(A, B, C)
}
func yourFunc<A, B, C>(numberOfParameters: Int) -> Value<A, B, C> {
// determine how many params you need to return, and return them
}
とINNあなたouter
コード:
+0
私はタプルバリアントのために行きました。私はタプルの最初の数を標準結果として使用し、2番目の値はオプションでnilとして使用しています。すべて正常に動作します。 – fbelfort
0
別の方法としては、列挙型を使用することができます。
関連する問題
- 1. Pythonで文字列の逆数値を1つ返します
- 2. Excel関数は最大2つの値を返します
- 3. 1つのゲッタに3つのコンテナを返す方法はありますか?
- 4. 関数は1つではなく2つの状態を変更します
- 5. 配列は1つの値を繰り返します
- 6. 関数は2つの値を返すことができますか?
- 7. Stored Procは2つの戻り値を返します
- 8. JQueryはただ1つの値を返します
- 9. C#ラムダはいくつかのヌル値を返します
- 10. Oracle 11.2.0.3 EXTRACT値が1つのノードの値を返します
- 11. 1または0のランダムな値を返す関数
- 12. python関数は1つではなく複数のdictを返します
- 13. trueまたはfalseの数値0または1を返すmap関数
- 14. 関数はprintで返しますが、返り値は返しません。
- 15. なぜ結果を返す関数はいつもErrを返しますか?
- 16. Microsoft.Xrm.Sdk.Query.QueryExpression.LinkEntitiesは1つの値だけを返します
- 17. コードをループして、EまたはFの3つの値と、A、B、C、またはDの2つの値を返します。
- 18. 2つの値が等しい場合でもfalseを返す
- 19. Pythonの関数から複数の値を返す最も良い方法はありますか?
- 20. C++は1つの関数を繰り返し呼び出しています
- 21. 3つのパラメータのScheme関数を3つ返す関数
- 22. オブジェクトデータソース関数が1つの値しか返さない
- 23. 関数からの入力値に応じて2つの値のうち1つを返す方法
- 24. Delphi OOPでは、オブジェクトはいつ値を返す必要がありますか?
- 25. いつPHP関数で値を返すのですか?
- 26. ExecuteReaderが1つの値だけを返しています
- 27. はNPAPI関数から複数の値を返す必要があります
- 28. 関数が実行され、その関数がFalseを返すまでループ上の値を返します。 - Python
- 29. MySQL SELECTでは2つの句があり、2つ目の句は3つの値になります
- 30. @BindingAdapter getSelectedItemPosition(android.widget.Spinner)には1つの属性と0の値パラメータがあります。 1つまたは2つの値パラメータがあるはずです
タプルまたは配列を返すことを検討しますか? – CollinD
私はすでに結果を返す関数を持っています。私は今、特定のケースでは、この関数から2つの結果を返す必要があることを知りました。だから私はif文などを構築しましたが、結局私は1つの値しか返すことができません。他のケースの99%については、私はただ1つの結果が必要です。 – fbelfort
タプルのようなサウンドは、必要なことをするでしょう。問題を説明するためにコードを投稿することを検討してください。 – CollinD