let animal = Animal() print(animal.cat, animal.dog, animal.elephant) // 出⼒: Optional("まる") Optional("ぽち") nil @dynamicMemberLookup struct Animal { private let animalNames = ["cat": "まる", "dog": "ぽち"] subscript(dynamicMember key: String) -> String? { animalNames[key] } } 以下はDynamic Member Lookupの例。存在しないプロパティにアクセスすることができる。