Сравнение строк без учета регистра в скриптах
От: Аноним  
Дата: 24.01.09 04:57
Оценка:
Hi all.
Background: есть собственный скриптовый язык, у пользоветеля есть доступ только к выражениям (expression) вроде 'A > B and foo(C, D) = 10'. Есть основной набор типов : числа, строки, даты, операции над ними и функции.

На текущий момент оператор сравнения(=) сравнивает строки с учетом регистра. Возникла необходимость сравнивать без учета регистра (на текущий момент проблема решается с помощью ToUpper/ToLower). Загвоздка в том что это должно выглядеть как можно проще. Придумались такие варианты:

int Compare(string, string, bool ignoreCase)
int CompareNoCase(string, string)
bool Equal(string, string, bool ignoreCase)
bool operator OP (string, string), где OP - некий оператор(какой выбрать ?), 
предназначенный именно для такого сравнения.

Ни один из вариантов особо не нравится:
Compare — все-таки выполняет больше чем просто сравнение,
Новый оператор — неочевидно (или нет?)
Склоняюсь к Equal, но он пересекается с существующим оператором сравнения

Возможно есть другие варианты ? другие имена функций, что-то еще... Сложность реализации второстепенна.

Спасибо.

PS: есть параметры по умолчанию.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.