Итак, скажем, у меня есть функция, которая берет строку и возвращает определенное значение этой строки, заданной текстовым файлом. Текстовый файл будет выглядеть следующим образом.другой haskell IO issue
привет - 2
свиданья - 3
поэтому функция вернет 2 дается "привет" и 3 дали "до свидания". Теперь функция типа Вес (я не могу изменить, так как это является частью системы):
type Weight = String -> Int
Как реализовать такую функцию, учитывая, что оно должно быть типа Вес. Проблема в том, что я не знаю, как сделать вес осведомленным о том, какое значение нужно вернуть с определенной строкой. Я не могу жестко задавать значения, потому что они будут разными в разных текстовых файлах. И я не могу прочитать read внутри этой функции или что-то в этом роде, не так ли? Есть ли другие варианты?
'ReadFile все, >> = возврат. assignWeight' может быть записано как 'assignWeight <$> readFile whatever'. – kqr
Спасибо, вот что я подумал. К сожалению, ни один из них не является удовлетворительным, поэтому мне придется искать некоторые обходные пути. Я просто подумал, что вы можете смоделировать глобальную фиксированную переменную как-то для хранения содержимого файла, так как она не изменяется после чтения содержимого файла. Но я не вижу способа сделать это. – redFur
@ user2922609 Вы не можете. Haskell не разрешает такую мутацию – jozefg