Subscript

subscript(_:default:)

Accesses the value with the given key, falling back to the given default value if the key isn’t found. 値にこの与えられたキーでアクセスします、キーが見つけられないならばその与えられた省略時の値まで後退します。

Declaration 宣言

subscript(key: Key, default defaultValue: @autoclosure () -> Value) -> Value { get set }

Parameters パラメータ

key

The key the look up in the dictionary. 辞書の中を検索するキー。

defaultValue

The default value to use if key doesn’t exist in the dictionary. keyが辞書の中に存在しないならば使うことになる省略時の値。

Return Value 戻り値

The value associated with key in the dictionary; otherwise, defaultValue. keyと辞書の中で結びつけられる値;そうでなければdefaultValue

Discussion 解説

Use this subscript when you want either the value for a particular key or, when that key is not present in the dictionary, a default value. This example uses the subscript with a message to use in case an HTTP response code isn’t recognized: あなたが特定のキーに対する値または、そのキーが辞書の中に存在しない時、省略時の値のどちらかを望む場合は、この添え字を使ってください。この例は、添え字を、HTTP応答コードが識別されない場合に使うあるメッセージとともに使います:


var responseMessages = [200: "OK",
                        403: "Access forbidden",
                        404: "File not found",
                        500: "Internal server error"]


let httpResponseCodes = [200, 403, 301]
for code in httpResponseCodes {
    let message = responseMessages[code, default: "Unknown response"]
    print("Response \(code): \(message)")
}
// Prints "Response 200: OK"
// Prints "Response 403: Access forbidden"
// Prints "Response 301: Unknown response"

When a dictionary’s Value type has value semantics, you can use this subscript to perform in-place operations on values in the dictionary. The following example uses this subscript while counting the occurrences of each letter in a string: ある辞書の持つValue型が値意味論を持つ場合、あなたはこの添え字を使うことで、辞書の中の値の上でその場での演算を実行できます。以下の例は、この添え字を、ある文字列の中の各印字の出現を数える間に使います:


let message = "Hello, Elle!"
var letterCounts: [Character: Int] = [:]
for letter in message {
    letterCounts[letter, default: 0] += 1
}
// letterCounts == ["H": 1, "e": 2, "l": 4, "o": 1, ...]

When letterCounts[letter, default: 0] += 1 is executed with a value of letter that isn’t already a key in letterCounts, the specified default value (0) is returned from the subscript, incremented, and then added to the dictionary under that key. letterCounts[letter, default: 0] += 1letterの値でまだletterCountsの中のキーでないものと実行される場合、指定された値(0)が添え字から返されて、漸増されて、それから辞書へとそのキーのもと追加されます。

See Also 参照

Accessing Keys and Values キーと値にアクセスする