Конвертировать макрос Objective-C (#define) в Swift

Фактическая проблема заключается в том, что оператор print () не печатает \, но когда вы ссылаетесь на значение строки в интерпретаторе, он отображает «\» всякий раз, когда используется апостроф. Например, см. Следующий код:

    >>> s = "She said, \"Give me Susan's hat\""
    >>> print(s)
    She said, "Give me Susan's hat"
    >>> s
    'She said, "Give me Susan\'s hat"'

Это независимо от того, используете ли вы одиночные, двойные или тройные кавычки для вложения строки.

    >>> s = """She said, "Give me Susan's hat" """
    >>> s
    'She said, "Give me Susan\'s hat" '

Другой способ включить это:

    >>> s = '''She said, "Give me Susan's hat" '''
    >>> s
    'She said, "Give me Susan\'s hat" '
    >>> s =  '''She said, "Give me Susan\'s hat" '''
    >>> s
    'She said, "Give me Susan\'s hat" '

Итак, в принципе, python не удаляет \, когда вы ссылаетесь на значение s, но удаляет его при попытке печатать. Несмотря на этот факт, когда вы ссылаетесь на длину s, он не учитывает «\». Например,

    >>> s = '''"''"'''
    >>> s
    '"\'\'"'
    >>> print(s)
    "''"
    >>> len(s)
    4
11
задан Ryan 9 July 2015 в 19:01
поделиться