USES params.ms.dict core.ms.dict ElementsRTTI.ms.dict Generation.ms.dict ; kind_NormalClass . STRING FUNCTION ValueToKey ANY IN aValue RULES ( aValue IsString ) aValue ( aValue IsArray ) ( aValue .map> call.me strings:Cat ) ( ( aValue IsObj ) AND ( aValue Is class::TtfwWord ) ) ( aValue pop:Word:Name ) ( aValue IsIntf ) ERROR 'Невозможно построить ключ для интерфейса' DEFAULT ( aValue ToPrintable ) ; // RULES >>> Result ; // ValueToKey : A CONST UID 'xxxA' ; // A : B CONST UID 'xxxB' ; // B 'a' ValueToKey . true ValueToKey . false ValueToKey . [ true ] ValueToKey . [ false ] ValueToKey . [ false true ] ValueToKey . [ true false ] ValueToKey . [ 'a' true false 'b' ] ValueToKey . @ A ValueToKey . @ B ValueToKey . [ @ A ] ValueToKey . [ @ B ] ValueToKey . [ @ A @ B ] ValueToKey . [ @ A [ @ B ] ] ValueToKey . [ [ @ A @ B ] ] ValueToKey . 123 ValueToKey . @ A .UID . @ B .UID .
Заметки о тестировании, программировании и прочий "поток сознания", который жалко писать "в стол"
Комментариев нет:
Отправить комментарий