하스켈에서 이진 검색 트리로 작업하고 있습니다. 여기 하스켈 함수에서 인수를 정의하는 올바른 방법은 무엇입니까
그래서 기본적으로 코드의이 작품은 BST의 요소를 삽입하고 두 번째 인수는 괄호 (예 :insert 5 (Node Leaf 2 Leaf)
)를 내부에 고정되어있는 경우는 잘 작동하지만 위해 내가
data BinaryTree a = Leaf | Node (BinaryTree a) a (BinaryTree a)
deriving (Show, Eq)
insert :: (Ord a, Eq a) => a -> BinaryTree a -> BinaryTree a
insert e (Leaf)= (Node Leaf e Leaf)
insert e (Node n1 a n2)
| e<a=(Node (insert e n1) a n2)
| otherwise = (Node n1 a (insert e n2))
을 쓴 코드 내가 원하는 것을 얻으려면 둘 다 안쪽 괄호 안의 두 번째 인수가 아닌 경우 (예 : insert 5 Node Leaf 2 Leaf
) 이 코드를 다시 작성할 수있는 방법에 대해 조언 해 줄 수 있습니까? 상기 설명 된대로
여기 청소처럼 보이는 것입니다 : http://pastebin.com/vpNKvDW7 –
나는 당신이 실제로 5 노드 잎 2 '전화를 삽입 할 _need_ 생각하지 않는다 잎은 괄호없이. 이것은 나에게 XY 문제로 보입니다. 완전히 다른 것을 필요로하지만 괄호 만 언급 한 것처럼 말입니다. 실제로 그걸로 무엇을 이루고자합니까? – chi