Я написав бібліотеку з відкритим кодом, яка аналізує структуровані дані, але навмисно відкидає виявлення повернення каретки, оскільки не бачу сенсу. Це додає додаткової складності та витрат на невелику користь.
На мій подив, користувач подав помилку, коли аналізатор не працював, і я виявив причину проблеми в тому, що в даних використовуються закінчення рядків CR на відміну від LF або CRLF.
Чи OSX не використовує закінчення рядків у стилі LF з моменту переходу на платформу на базі Unix?
Я знаю, що є такі програми, як Notepad ++, де закінчення рядків можна змінити, щоб явно використовувати CR, але я не розумію, чому хтось цього захоче.
Чи безпечно виключати підтримку статистично незначного відсотка користувачів, які вирішили (з будь-якої причини) старі рядкові закінчення стилю Mac OS?
Оновлення:
Для уточнення, підтримка закінчень рядків Windows (тобто CRLF) не вимагає розпізнавання маркера CR. У цілях ефективності лексери відповідають на основі принципу. Мовчки ігноруючи символи CR, маркер CRLF спрощується до LF. Таким чином, маркер CRLF сам по собі може вважатися анахронізмом, але це не таке питання.
Остання ОС, яка надала загальносистемну підтримку закінчень ліній в стилі CR, була Mac OS 9 . Як не дивно, єдине додаток, яке досі використовує його як за замовчуванням в OSX, - це Microsoft Excel.
CR
рядків у вашу кодову базу. (... і якщо ви твердо вірите, що це не так, дизайн вашого парсера повинен бути досить неспокійним)