Поиск диапазона BST с неожиданной ошибкой - PullRequest
0 голосов
/ 01 июля 2019

Эта функция должна иметь возможность поиска диапазона данного BST.Так что lookupRange low high t должен вернуть true, если low <= x <= high </strong>.

Я хотел доказать свой код на этом примере:

lookupRange low high (Node (Node (Node Leaf 1 Leaf) 
                                 2 
                                 (Node Leaf 3 Leaf))  
                           5 
                           (Node (Node Leaf 6 Leaf) 
                                 7 
                                 (Node Leaf 8 Leaf)))
data Tree a = Leaf | Node (Tree a) a (Tree a)
  deriving Show

lookupRange :: Ord a => a -> a -> Tree a -> Bool
lookupRange low high Leaf = False
lookupRange low high (Node l x r) | low <= x && x <= high = True
                                  | x < low               = lookupRange low high r
                                  | otherwise             = lookupRange low high l

В моем примере я получаю следующее сообщение об ошибке:

<interactive>:11:13: error:
    * Variable not in scope: low :: Integer
    * Perhaps you meant `log' (imported from Prelude)

<interactive>:11:17: error: Variable not in scope: high :: Integer
...