Форум программистов, компьютерный форум, киберфорум
Haskell
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/14: Рейтинг темы: голосов - 14, средняя оценка - 4.79
3 / 3 / 0
Регистрация: 04.11.2018
Сообщений: 123
1

Ошибка Program error: Prelude.read: no parse

02.06.2020, 18:48. Показов 2914. Ответов 5

Author24 — интернет-сервис помощи студентам
Здравствуйте уважаемые!
Подскажите пожалуйста как исправить ошибку Program error: Prelude.read: no parse
Что я не так делаю?
Программа работает, но не выводит результат закодированной строки
Haskell
1
2
3
4
5
6
7
8
(1022 reductions, 1633 cells)
Main> :main
ENCODE =>
Input the string for encoding: "hello"
Input keys a and b: 1 2
 
This is an encoded string => 
Program error: Prelude.read: no parse
Код:
Haskell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
module Main where
import IO
import Data.Char
import Data.Maybe
import Data.List
import qualified Data.Set as Set
 
main = do 
       hSetBuffering stdout NoBuffering
       putStrLn "ENCODE =>"
       putStr "Input the string for encoding: "
       s<- getLine
       putStr "Input keys a and b: "
       a<- getLine
       b<- getLine
       let x= (read a):: Int
       let y= (read b):: Int 
       putStr "This is an encoded string => "    
       print $ encode x y s
 
 
let2int :: Char -> Int
let2int c | isLower c = ord c - ord 'a'
          | otherwise = let2int (toLower c)
 
int2let :: Int -> Char
int2let n = chr (ord 'a' + n)
 
shift :: Char -> Int -> Int -> Char
shift c a b | isLetter c = int2let ((x * a + b) `mod` 26)
            | otherwise = c
            where x = let2int c
 
isCoprime :: Int -> Int -> Bool
isCoprime a b = gcd a b == 1
 
valid_param :: Int -> Bool
valid_param a = isCoprime a 26
 
encode :: Int -> Int -> String -> Maybe String
encode a b xs | valid_param a = Just [shift x a b | x <- xs]
              | otherwise = Nothing
Добавлено через 29 минут
Цитата Сообщение от Космодемьян Посмотреть сообщение
Подскажите пожалуйста как исправить ошибку Program error: Prelude.read: no parse
с этой проблемой разобрался, надо было просто ключ с новой строки вводить
Haskell
1
2
3
4
5
6
(1022 reductions, 1633 cells)
Main> :main
ENCODE =>
Input the string for encoding: "hello"
Input keys a and b: 1 
2
а возможно ли сделать так чтобы вводить их в одной строке как я и пытался сделать?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2020, 18:48
Ответы с готовыми решениями:

ImageString и ошибка Parse error: parse error, unexpected T_STRING, expecting T_VARIABLE or '$' in
Пишу такую строку imagestring($image,1,10,10,'mytext',&amp;black); Выдаеться такая ошибка Parse...

Выскакивает ошибка Parse error: parse error, unexpected T_STRING
&lt;?php /* Здесь мы проверяем существуют ли переменные, которые передала форма обратной связи. Если...

SELECT ошибка Parse error: parse error, unexpected T_VARIABLE in
Помогите найти ошибку Ошибка: Parse error: parse error, unexpected T_VARIABLE in...

Ошибка "Parse error: parse error, unexpected T_VARIABLE"
Господа! Помогите найти ошибку в коде файла отправки заявки с сайта: Код ниже. Пишет что ошибка...

5
Модератор
5047 / 3276 / 526
Регистрация: 01.06.2013
Сообщений: 6,806
Записей в блоге: 9
02.06.2020, 20:01 2
Лучший ответ Сообщение было отмечено Космодемьян как решение

Решение

Цитата Сообщение от Космодемьян Посмотреть сообщение
Input the string for encoding: "hello"
Вводить строку в кавычках стоит только если хочется что бы значение s в самом деле содержало кавычки.
Цитата Сообщение от Космодемьян Посмотреть сообщение
сделать так чтобы вводить их в одной строке как я и пытался сделать?
Haskell
1
2
3
4
5
6
       putStr "Input the string for encoding: "
       s<- getLine
       putStr "Input keys a and b: "
       ~[x,y]<- (map read . words) <$> getLine
       putStr "This is an encoded string => "    
       print $ encode x y s
Специально указывать тип x,y не нужно, т.к. потом они подставляются в encode , а её аргументами должны быть Int.
По этому компилятор и так догадается про их тип.
1
3 / 3 / 0
Регистрация: 04.11.2018
Сообщений: 123
03.06.2020, 12:41  [ТС] 3
ERROR file:.\test22.txt:8 - Undefined variable "<$>"

Curry, а почаму такая ошибка вылазит?
0
Модератор
5047 / 3276 / 526
Регистрация: 01.06.2013
Сообщений: 6,806
Записей в блоге: 9
03.06.2020, 12:56 4
Цитата Сообщение от Космодемьян Посмотреть сообщение
а почаму
Приведите программу полностью.
0
3 / 3 / 0
Регистрация: 04.11.2018
Сообщений: 123
03.06.2020, 13:01  [ТС] 5
Haskell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
module Main where
import IO
import Data.Char
import Data.Maybe
import Data.List
import qualified Data.Set as Set
 
main = do 
       hSetBuffering stdout NoBuffering
       putStrLn "ENCODE =>"
       putStr "Input the string for encoding: "
       s<- getLine
       putStr "Input keys a and b: "
       ~[x,y]<- (map read . words) <$> getLine
       putStr "This is an encoded string => "    
       print $ encode x y s
 
let2int :: Char -> Int
let2int c | isLower c = ord c - ord 'a'
          | otherwise = let2int (toLower c)
 
int2let :: Int -> Char
int2let n = chr (ord 'a' + n)
 
shift :: Char -> Int -> Int -> Char
shift c a b | isLetter c = int2let ((x * a + b) `mod` 26)
            | otherwise = c
            where x = let2int c
 
isCoprime :: Int -> Int -> Bool
isCoprime a b = gcd a b == 1
 
valid_param :: Int -> Bool
valid_param a = isCoprime a 26
 
encode :: Int -> Int -> String -> Maybe String
encode a b xs | valid_param a = Just [shift x a b | x <- xs]
              | otherwise = Nothing
Добавлено через 2 минуты
Haskell
1
2
3
4
5
6
7
8
() :: IO ()
(1378947 reductions, 1797594 cells, 9 garbage collections)
Main> :main
Reading file "C:\Users\Admin\Desktop\test22.txt":
Parsing........................................................................
Dependency analysis
ERROR file:.\test22.txt:8 - Undefined variable "<$>"
Data.Set>
0
Модератор
5047 / 3276 / 526
Регистрация: 01.06.2013
Сообщений: 6,806
Записей в блоге: 9
03.06.2020, 13:21 6
Космодемьян, вы какую то другую программу запускаете, а не ту что у вас в начале сообщения.
Проверьте где находится программа которую вы приводите и что вы делаете.
Например, открываете окно консоли, переходите в каталог проекта (в какой именно),
потом, допустим, запускаете stack ghci.
И что он в начале выдаёт полностью, с самого начала.
0
03.06.2020, 13:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2020, 13:21
Помогаю со студенческими работами здесь

Forum phpbb2.Parse error: parse error, unexpected '' in install.php on line 749 Что делать?
Здравствуйте! Я скачал скрипт Forum phpbb2. Когда я выхожу на главный файл форума через браузер,...

Parse error: parse error, unexpected T_VARIABLE in C:inetlocalhostwww estpearclasses.php on line 11
Подскажите в чем тут дело, такая ошибка Parse error: parse error, unexpected T_VARIABLE in...

Parse error: parse error, unexpected T_VARIABLE in C:inetlocalhostwww estWorkmain.php on line 33
Хочу попробовать написать свой небольшой менеджер для работы с базами, написал два скрипта. при...

Правильное написание строки (Parse error: parse error, unexpected ''>'' in c:....scr.inc on line 34)
Как правильно записать следующую строку : &lt;?=&quot;&lt;tr&gt;&lt;td&gt;&lt;div id=&quot;ecategory &lt;a...

Ошибка как исправить PHP Parse error: syntax error, unexpected '['
Всем привет. Ребята помогите решить проблему. сайт пишет вот такую ошибку PHP Parse error:...

PHP - Выскакивает ошибка Parse error: syntax error, unexpected T_STRING in
Всем привет. У меня выскакивает ошибка: Parse error: syntax error, unexpected...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru