Swift: введите стертый построитель регулярных выражений

У меня есть следующая функция, которая используетSwift 5.7'sRegexстроитель:

      static func numberStartingWith6(strictLength: Bool) -> some RegexComponent  {
        let myRegex = Regex {
            
            Optionally {
                "6"
                
                if strictLength {
                    Repeat(CharacterClass.digit, count: 9)
                }
                else {
                    Repeat(0...8) {
                        CharacterClass.digit
                    }
                }
            
            }
        }
        
       

но я получаю следующую синтаксическую ошибку вOptionallyтип:

Type '() -> ()' cannot conform to 'RegexComponent'

Я попытался выяснить основной типmyRegexпеременная в функции выше, и это было:Regex<Regex<Optionally<Substring>. RegexOutput>. RegexOutput>

Как объявить правильный тип возвращаемого значения в сигнатуре функции, чтобы меня не волновал базовый тип построителя регулярных выражений (т. е. стирание типа).

0 ответов

Другие вопросы по тегам