CLIPS: Как печатать специальные символы и буквы, такие как ñ?

Я кодирую испанскую экспертную систему, поэтому мне нужно печатать слова с буквами ñ или á, é, í или ¿ и я пока не могу понять, есть ли способ сделать это?


person Madneo31    schedule 16.07.2020    source источник
comment
Умеете ли вы набирать их на клавиатуре? Если это так, печать "niño" должна работать..!   -  person Thomas    schedule 16.07.2020
comment
Я могу их напечатать, печатать niño — это как NIÃ’O и niño.   -  person Madneo31    schedule 17.07.2020


Ответы (2)


Вероятно, это проблема с вашим терминалом. Где вы запускаете свои программы? Лучшим решением может быть поиск в Google проблем, характерных для вашей среды кодирования. (Например, я на macOS, у моего терминала с этим проблем нет.)

введите здесь описание изображения

Кроме того, если вам просто нужно быстрое решение, большинство языков поддерживают строки в кодировке Unicode. Например, вот как вы могли бы сделать это в Python (обратите внимание, ñ — это 361 в восьмеричном Unicode):

>>> print('ni\361o')
niño

Однако, если ваша проблема не устранена, я бы порекомендовал вам попробовать поискать пользователей, у которых были похожие проблемы, которые также используют вашу среду кодирования. Надеюсь, вы сможете найти решение :)

person Thomas    schedule 17.07.2020

Начиная с версии 6.3, CLIPS обеспечивает внутреннюю поддержку строк UTF-8. Поэтому, если вы используете текстовый редактор, поддерживающий кодировку UTF-8, вы можете писать программы на языках с диакритическими знаками (например, на испанском), на других нелатинских наборах символов с маленьким алфавитом (например, на русском) и на языках со сложными символами. глифы (например, японские):

(deffacts hello
   (hello "Hello World")
   (hello "Привет мир")
   (hello "مرحبا العالم")
   (hello "你好世界")
   (hello "ハローワールド")
   (hello "여러분, 안녕하세요")
   (hello "Olá Mundo"))

(defrule hello
   (hello ?h)
   =>
   (printout t ?h crlf))   

Ввод и вывод этих наборов символов зависит от среды, в которой выполняется CLIPS. Если вы запускаете CLIPS в качестве терминального приложения в macOS или Linux, поддерживается UTF-8. IDE macOS для CLIPS 6.3 и 6.4 поддерживает кодировку UTF-8. CLIPSJNI, http://www.clipsrules.net/CLIPSJNI.html, также демонстрирует, как вы может встраивать CLIPS в среду, поддерживающую UTF-8 (в данном случае Java), чтобы воспользоваться преимуществами внутренней поддержки CLIPS UTF-8.

IDE Windows для CLIPS 6.3 не поддерживает ввод-вывод UTF-8. Он использует более старые API-интерфейсы Win32 и не был разработан с учетом поддержки Unicode. Windows IDE для CLIPS 6.4 использует современные платформы .NET, которые поддерживают ввод-вывод UTF-8.

По умолчанию командная строка Windows не поддерживает ввод-вывод UTF-8, но вы можете включить ее, чтобы обеспечить некоторую ограниченную поддержку. Запустите «Параметры Windows» и нажмите «Время и язык», затем «Язык» и «Параметры административного языка». В появившемся окне нажмите кнопку Изменить язык системы.... Установите флажок «Бета-версия: использовать Unicode UTF-8 для поддержки языков во всем мире» и нажмите кнопку «ОК». Поддержка вывода UTF-8 теперь будет включена в командной строке для языков, которые используют один код для символов (например, испанский и русский). К сожалению, несмотря на то, что ввод для диакритических знаков и нелатинских символов отображается правильно при вводе, кажется, что они неправильно передаются в CLIPS (как это происходит при запуске CLIPS в качестве терминального приложения в macOS или Linux).

person Gary Riley    schedule 18.07.2020