код:
file.write 'objectclass: groupOfUniqueNames\n'
Достаточно странно \n на самом деле печатается... Что не так здесь?
Одиночные строки в Ruby более "буквальны", чем двойные кавычки; переменные не оцениваются, и большинство экранирующих символов не работают, за исключением \\
и \'
для включения буквенных обратных слэшей и одиночных кавычек, соответственно.
Двойные кавычки - это то, что вам нужно:
file.write "objectclass: groupOfUniqueNames\n"
Вы используете одинарные кавычки. Единственные escape-последовательности, разрешенные в одинарных кавычках: \\
для \
и \ '
для '
. Используйте двойные кавычки, и \ n
будет работать должным образом.
Только в одной кавычке разрешены две экранирующие последовательности: \'
(для одной кавычки) и \\
(для одного обратного слеша). Если вы хотите использовать другие экранирующие последовательности, такие как \n
(для новой строки), вы должны использовать строку с двойной кавычкой.
Итак, это сработает:
file.write "objectclass: groupOfUniqueNames\n"
Хотя лично я бы просто использовал put
здесь, где уже добавлена новая строка:
file.puts 'objectclass: groupOfUniqueNames'