Мелкие улучшения по коду
This commit is contained in:
@@ -21,7 +21,7 @@ main =
|
|||||||
saveDictionary "dict2.txt" dict2 >>
|
saveDictionary "dict2.txt" dict2 >>
|
||||||
putStrLn "Введите начальное слово или пару слов для старта диалога:" >>
|
putStrLn "Введите начальное слово или пару слов для старта диалога:" >>
|
||||||
getLine >>= \input2 ->
|
getLine >>= \input2 ->
|
||||||
putStrLn "Введите количество сообщений M:" >>
|
putStrLn "Введите количество сообщений от каждой модели:" >>
|
||||||
getLine >>= \ms ->
|
getLine >>= \ms ->
|
||||||
let m = read ms :: Int in
|
let m = read ms :: Int in
|
||||||
twoModelsDialog dict dict2 input2 m
|
twoModelsDialog dict dict2 input2 m
|
||||||
|
|||||||
@@ -1,4 +1,10 @@
|
|||||||
module Lib where
|
module Lib (
|
||||||
|
splitText,
|
||||||
|
buildDictionary,
|
||||||
|
saveDictionary,
|
||||||
|
processInput,
|
||||||
|
twoModelsDialog
|
||||||
|
) where
|
||||||
|
|
||||||
import Data.Char (isLetter, toLower)
|
import Data.Char (isLetter, toLower)
|
||||||
import Data.Map (Map)
|
import Data.Map (Map)
|
||||||
@@ -93,13 +99,14 @@ twoModelsDialog dict1 dict2 start m =
|
|||||||
let first = generatePhrase dict1 start gen
|
let first = generatePhrase dict1 start gen
|
||||||
in putStrLn ("Модель 1: (" ++ start ++ ") " ++ unwords first) >>
|
in putStrLn ("Модель 1: (" ++ start ++ ") " ++ unwords first) >>
|
||||||
loop dict1 dict2 first m
|
loop dict1 dict2 first m
|
||||||
where
|
where
|
||||||
loop d1 d2 prev 0 = return ()
|
loop :: Map String [String] -> Map String [String] -> [String] -> Int -> IO ()
|
||||||
loop d1 d2 prev i =
|
loop _ _ _ 0 = return ()
|
||||||
putStr "Модель 2: " >>
|
loop d1 d2 prev i =
|
||||||
dialogStep d2 prev >>= \resp ->
|
putStr "Модель 2: " >>
|
||||||
if null resp then return () else
|
dialogStep d2 prev >>= \resp ->
|
||||||
putStr "Модель 1: " >>
|
if null resp then return () else
|
||||||
dialogStep d1 resp >>= \resp2 ->
|
putStr "Модель 1: " >>
|
||||||
if null resp2 then return () else
|
dialogStep d1 resp >>= \resp2 ->
|
||||||
loop d1 d2 resp2 (i-1)
|
if null resp2 then return () else
|
||||||
|
loop d1 d2 resp2 (i-1)
|
||||||
Reference in New Issue
Block a user