#swift #enums #lexical
#быстрый #перечисления #лексический
Вопрос:
как я могу создать перечисление с «.» или «-» в их именах? Я хочу что-то вроде:
enum Options: String {
case option1, option2, option2.1, option3
}
Использование обратных меток (`) не работает. Есть ли какой-нибудь обходной путь, который я могу сделать?
Комментарии:
1. Вы не можете использовать _ или какой-либо другой одобренный символ. Обратные галочки следует использовать, если вы хотите, чтобы имя идентификатора совпадало с зарезервированным словом в swift, например class или case или enum
2. @JoakimDanielson ты имеешь в виду «ты можешь»
3. @LeoDabus, возможно, недоразумение. Мое «не могу» относится к первому предложению в вопросе, а не к последнему. Если это не так, пожалуйста, объясните, в чем я ошибаюсь.
4. извините, я пропустил там слово «so». Пунктуация там поможет правильно ее прочитать
Ответ №1:
Ни один символ не может быть частью имени идентификатора. См. https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html для грамматики.
Ответ №2:
Как говорит Гереон, в принципе, вы не можете. Это очень архаичная система. Но если вы сможете найти хороший смайлик, который вам нравится, это сработает.
enum Option: String {
case option🧉1, option🍩2, option2🌑1, option🥩3
}
Также обратите внимание, что каждый из них является опцией, а не опцией.
Комментарии:
1. ИМО было бы лучше использовать что-то вроде option2a
2. Я ненавижу подчеркивания, но я все равно использую их много, потому что считаю, что они лучше всего заменяют точки. например developer.apple.com/documentation/metal/mtlfeatureset