2017-06-12 12 views
1

は私が迅速かつ特に閉鎖にに新しいです、私はsum関数を練習していたとき、私は2値を追加することができますが、私は3つの以上の値のために何しようとしたとき、私はエラースウィフト閉鎖

EXを得る2つ以上の値を追加します:

var calculate: (Double,Double)->Double 
calculate = {$0+$1} 
print(calculate(4,3)) 

を作品2値を追加することが、この1つはエラーに

var calculate: (Int,Int,Int)->Int 

calculate = {$0+$1+$2} 

print(calculate(5,8,90)) 

を与える我々はこれを行うことができない何らかの理由がある..あなたが私にこのusinを行う方法を提案することができますg閉鎖

ありがとう

+0

Xcode 8.2.1で私のために働いてください。あなたが得るエラーメッセージは何ですか? – Moritz

+0

おそらく、メンバー '+'に対するあいまいな参照は、8.3.2プレイグラウンドで再現できます。 – luk2302

+0

私はXcode 8.3.2を使用していますが、エラーです。曖昧なリファレンス '+' calculate1 = {$ 0 + $ 1 + $ 2} ^ – Punya

答えて

1

この場合、コンパイラは結果の型を正しく再現しません。あなたは少し助けてください:

var calculate: (Int,Int,Int) -> Int 
calculate = { Int($0+$1+$2) } 
print(calculate(5,8,90)) // "103\n" 
+0

ありがとうございます – Punya

0

コードを変更します。

var calculate: (Int,Int,Int)->Int 

calculate = {($0+$1)+$2} 

print(calculate(5,8,90)) 

- >丸いブラケットを付ける必要があります。