LINUX.ORG.RU

F# Map мне не нужен компаратор по Value


0

1

Хочу пользоваться Map для Value, не имеющего компаратора. Я не планирую использовать ф-ции Map типа get-key-on-value. Неужели прийдётся отказаться от Map из-за ограничения -

The type '(('a * 'b) list -> Map<'a,'b>) when 'a : comparison' does not support the 'comparison' constraint. For example, it does not support the 'System.IComparable' interface
пример желанного использования
Map.ofList <string, (string list) * (string list)>                             
                            [
                                "*", ([], ["ТипЭлемента"; ТипКонтакта"; "ВидКонтакта";]);
                                "a", (["*"], ["a"]);
                                "b", (["d"], ["b"]);
                                "c", (["a; b"], ["c"; "cc"]);
                                "d", (["c"; "*"], ["d"]);
                            ]
очень не хочется писать новый тип с компаратором для (string list) * (string list)

★★★

Последнее исправление: pseudo-cat (всего исправлений: 1)

Ошибочка вышла, в данном примере Value имеет компаратор, я просто тип неправильно написал, извиняюсь. Но что делать, если используется тип без 'comparison' constraint.

pseudo-cat ★★★
() автор топика
Ответ на: комментарий от pseudo-cat

> Ошибочка вышла, в данном примере Value имеет компаратор, я просто тип неправильно написал, извиняюсь. Но что делать, если используется тип без 'comparison' constraint.

Обсуждали же уже. Возьми HashMap из PowerPack.

Norgat ★★★★★
()
Ответ на: комментарий от Norgat

Или я не до конца вник в твою проблему...

Norgat ★★★★★
()

The type '(('a * 'b) list -> Map<'a,'b>) when 'a : comparison' does not support the 'comparison' constraint. For example, it does not support the 'System.IComparable' interface

Таки да, юзай HashMap, там можно передать компаратор, как параметр. А без компаратора для ключей ничего не заработает, т.к. ключи нужно сравнивать в любом случае(что и гарантирует IComparable).

Norgat ★★★★★
()
Ответ на: комментарий от Norgat

да, точно, спасибо за понимание, целое лето не писал на ф-шарпе и забыл про PowerPack)

pseudo-cat ★★★
() автор топика

Лол, очередной чудик пишет бухгалтерию на хипстерском языке.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.