임의의 변수를 여는 중괄호와 일치하는 닫는 중괄호 시퀀스를 만들고 싶습니다. 그것은 각 셔플의 새로운 ord
를 생성하기 때문에Haskell에서 무작위 변수를 여러 번 사용하기
shuffle :: [a] -> IO [a]
ps xs ys = map snd . sort $ zip xs ys
opens = "[{("
closes = "]})"
parens = do
ord <- shuffle [0..length opens]
let os = ps ord opens
cs = reverse $ ps ord closes
그것은 작동하지 않습니다 여기 내 (일부) 코드입니다. ord
을 기억하고 두 셔플 모두에 사용하려면 어떻게해야합니까?
코드가 덜 부분적이라면 질문에 대답하는 것이 더 쉬울 것이라고 생각합니다. (적어도 정확한 구문을 제공합니다.) 바로 지금 당신의 문제가 무엇인지 정확히 알기가 어렵습니다. – HaskellElephant