16861


下の画像のように２つの値を引数とする関数を定義し、  
使用すると以下のようなエラーがでます。  
[![エラー画面](https://i.stack.imgur.com/oDEKo.png)](https://i.stack.imgur.com/oDEKo.png)

[code]

    plus(5,b:10)
    
[/code]

とすればエラーはなくなるのですが冗長に思います。  
Swiftではこのように記述しなければならないのでしょうか？


CC BY-SA 3.0
2015-09-23T00:35:55.913
16860
2015-09-23T08:40:54.983
12415
question
swift
Swiftでの２値の引数を持つ関数の記述方法

[code]

    plus(a: Int, _ b: Int) -> Int {
        return a + b
    }
    
    plus(33, 44) // 77
    
[/code]

このように、アンダーバーを使って、引数のラベルを省略できます。

この関数の構文の基本形はこうです。

[code]

    plus(a x: Int, b y: Int) -> Int {
        return x + y
    }
    
    plus(a: 22, b: 33) // 55
    
[/code]

外部引数のラベル`a`と`b`と内部引数`x`と`y`を、別の名称にする場合の構文です。これの外部引数のラベルを、アンダーバーで省略することで、ラベルのない関数の構文を作れるというしだいです。

Swiftは、関数、メソッドの引数にラベルが付くのが基本形。そして、関数では、第一引数のラベルは省略されます。これらはおそらく前身のObjective-
Cを継承しているのだと考えられます。

アンダーバーは、このような使い方もします。

[code]

    for _ in 1...10 {
         print("Hello")
    }
    
[/code]

単純にHelloと10回出力するプログラムです。10回をカウントするけれども、カウントした値を使う必要がないというとき、アンダーバーを使うと、むだに変数を作らなくてすみます。


CC BY-SA 3.0
2015-09-23T00:53:15.707
16861
2015-09-23T08:40:54.983
2015-09-23T08:40:54.983
7362
7362
16860
answer