Задать вопрос
@Amigo2019

Почему показывает ошитбку? вроде всё верно? и как поправить?

Добрый день!
Показывает ошибку требует let и как поправить?
Программа не целиком ,проблема в блоке проверки на ввод букв
В этой части блок проверки букв и блок проверки цифр одинаковые но на цифровой не ругается,а на блок проверки букв ругается..
  • Вопрос задан
  • 93 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
myjcom
@myjcom
Сдвинь объявления и определения ф-ций в положенное место.
main = do
        putStrLn "Start point: "
        start <- getArg
        putStrLn "End point: "
        end <- getArg
        putStrLn "Max cost: "
        costStr <- getArgNum
        let cost = read costStr :: Double
        mapM_ putStr $ astar graph1 start end cost
        putStrLn " "
----------------CHECK BUKVI--------
getArg :: IO String -- И так все что ниже
getArg = do        
        line <- getLine


Но у тебя там еще другие проблемы.
getArgNum ...
getArgNum :: IO Double
getArgNum = do
                line <- getLine
                if numOk line
                                then return (read line :: Double)
                                else do
                                putStrLn "Please input a proper number:"
                                getArgNum  -- У тебя было getArg


costStr <- getArg -- у тебя было getArgNum
let cost = read costStr :: Double
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы