2016-11-09 2 views
0

Есть ли шанс, что ключи хеша в массиве TCL не чувствительны к регистру?Сделать TCL hash не чувствительным к регистру

Очевидно, что это не работает:

% set hash(aBc) Winner 
Winner 
% puts $hash(abc) 
can't read "hash(abc)": no such element in array 
% 

Да, я могу использовать ToLower

% set hash([string tolower dEf]) Loser 
Loser 
% puts $hash(def) 
Loser 
% 

Просто интересно, если есть слабый шанс на решение, которое работает глобально на моем хэш?

Спасибо, Герт

ответ

0

Текущая реализация массивов не имеет возможности выразить то, что вы просили; вы должны string tolower (или иначе сделать согласованным, например, string toupper также будет работать) ключей перед использованием. Я мог бы представить, как это изменится в будущем с помощью подкоманды array ... но это чистая спекуляция.

В словарях гораздо меньше шансов получить такую ​​возможность, поскольку они являются чистыми значениями и не называются сущностями.

 Смежные вопросы

  • Нет связанных вопросов^_^