Menu
Coddy logo textTech

引数ラベル

CoddyのSwiftジャーニー「基礎」セクションの一部 — レッスン 54/86。

Swiftは、引数ラベルを使用することで、関数呼び出しがどのように読めるかを制御できるようにします。引数ラベルは関数を呼び出す際に使用するもので、パラメータ名は関数内部で使用する名前です。

引数名の前に引数ラベルを記述することで、両方を指定できます:

func greet(to name: String) {
    print("Hello, \(name)!")
}

greet(to: "Alice")  // 出力: Hello, Alice!

ここでは、to が引数ラベル(呼び出し時に使用)で、name がパラメータ名(関数内部で使用)です。これにより、呼び出しが「greet to Alice」のように、より自然に読めるようになります。

時には、よりクリーンな呼び出しのためにラベルを完全に省略したい場合があります。引数ラベルとしてアンダースコア (_) を使用します:

func square(_ number: Int) -> Int {
    return number * number
}

print(square(5))  // 出力: 25

アンダースコアがない場合、square(number: 5) と書く必要があります。アンダースコアによってその必要がなくなり、関数名ですでに目的が明確な場合に関数の呼び出しをよりシンプルにすることができます。

challenge icon

チャレンジ

簡単

引数ラベルの異なるテクニックを実演する2つの関数を作成してください:

関数 1: send

  • 引数ラベル message を使用し、パラメータ名を text(型 String)にします
  • 引数ラベル to を使用し、パラメータ名を recipient(型 String)にします
  • 次の形式の文字列を返します:"Sending '[text]' to [recipient]"

関数 2: double

  • アンダースコア _ を使用して引数ラベルを省略します
  • パラメータ名は number(型 Int)にします
  • 数値を2倍にした値を返します

両方の関数を定義した後、入力から2つの文字列と1つの整数を読み取り、両方の関数を呼び出して結果を別々の行に出力してください。

以下の入力を受け取ります:

  • 1行目:メッセージテキスト(例:"Hello"
  • 2行目:受信者の名前(例:"Alice"
  • 3行目:2倍にする数値(例:"7"

例えば、入力が "Hello""Alice""7" の場合、出力は以下のようになります:

Sending 'Hello' to Alice
14

チートシート

Swiftでは、引数ラベル(argument labels)を使用することで、関数呼び出しの読みやすさを制御できます。引数ラベルは関数の呼び出し時に使用され、パラメータ名は関数本体の内部で使用されます。

パラメータ名の前に引数ラベルを記述することで、両方を指定します:

func greet(to name: String) {
    print("Hello, \(name)!")
}

greet(to: "Alice")  // Output: Hello, Alice!

ここでは、toが引数ラベルで、nameがパラメータ名です。

呼び出しをより簡潔にするために引数ラベルを省略するには、アンダースコア(_)を使用します:

func square(_ number: Int) -> Int {
    return number * number
}

print(square(5))  // Output: 25

アンダースコアがない場合は、square(number: 5)と記述する必要があります。

自分で試してみよう

// 入力を読み込む
let messageText = readLine()!
let recipientName = readLine()!
let numberToDouble = Int(readLine()!)!

// TODO: 以下にコードを記述してください
// 引数ラベル 'message' と 'to' を持つ 'send' 関数を定義します


// '_' を使用して引数ラベルを省略した 'double' 関数を定義します


// 両方の関数を呼び出し、結果を出力します
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン