Когда использовать строки или символы в клипах
Сейчас я начинаю изучать CLIPS и спрашиваю себя, когда лучше использовать символы, а когда - строки?
На первый взгляд мне кажется, что символы выгодны, потому что их легче сравнивать, чем строки.
(eq test test)
быстрее чем
(= (str-compare "test" "test") 0)
Есть ли в этом и обратная сторона?
1 ответ
Решение
Преимущество символов по сравнению со строками состоит в том, что вам нужно вводить на два символа меньше (кавычки). Недостаток символов по сравнению со строками заключается в том, что некоторые разделители недопустимы (особенно символы пробела). Функция str-compare предназначена в первую очередь для алфавитной сортировки. Для проверки на равенство вы можете использовать eq:
CLIPS> (eq "test" "test")
TRUE
CLIPS> (eq "test" "nottest")
FALSE
CLIPS>