Я пытаюсь добиться этого в Swift:
let dict : [ () -> () : String]
//error: type '() -> ()' does not conform to protocol 'Hashable'
//let dict : [ () -> () : String]
//^
Но получение ошибки '() -> ()' не соответствует протоколу 'Hashable'. Как я могу исправить эту ошибку?
Edit:
Я портирую конечный автомат из Lua, где ключ оказывается функцией. (Я знаю, что это может быть странно на любом другом языке, но для Луа это нормально).
Код Lua:
local machine = {}
machine [Entry] = {loop = Entry, go = Another, gosub = sub }
machine [Another] = {go = Entry, loop = Another, next = Next }
machine [Next] = {startAgain = Entry }
machine [sub] = {out = Entry, next = Next, gosub = indoor, goOutDoor = outdoor }
machine [indoor] = {out = sub, next = sub }
machine [outdoor] = {next = sub }