我正在Haskell中使用二叉搜索樹。什麼是在Haskell函數中定義參數的正確方法
這裏是我寫的
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))
的代碼,所以基本上這一塊的代碼將在BST的元素,如果第二個參數被鎖定在括號(如insert 5 (Node Leaf 2 Leaf)
)內能正常工作,但爲了爲了獲得我想要的,我需要我的程序在兩種情況下工作,當第二個參數在括號內,並且當它不是時(例如insert 5 Node Leaf 2 Leaf
) 您能否提供一些關於如何重寫此代碼以獲取內容的建議如上所述
有在你的代碼中的一些額外的括號,這裏是什麼樣子清理:http://pastebin.com/vpNKvDW7 –
我不認爲你實際上_need_調用'插入5節點葉2葉'沒有括號。這對我來說是一個XY問題 - 就好像你需要完全不同的東西,但只提到括號。你真的想用這個來實現什麼? – chi