我正在尝试在 ML 中创建一个函数,该函数在二叉树中搜索一个值并返回 true 或 false。任何人都可以帮我在语法上修复我的函数以使其正常工作吗?这是我所拥有的:
datatype either = ImAString of string | ImAnInt of int;
datatype eitherTree = LEAF of either | NODE of eitherTree*either*eitherTree;
fun eitherSearch(LEAF(ImAnInt x), search_value) = (x=search_value)
| eitherSearch(LEAF(ImAString x), search_value) = false
| eitherSearch(NODE(left, ImAString node_value, right), search_value) = false
| eitherSearch(NODE(left, ImAnInt node_value, right), search_value) =
if (search_value > node_value)
then eitherSearch(right, search_value)
else eitherSearch(left, search_value);