я две следующие «функции»: is_three и некоторыеSML: как выделяются конструкторы и функции?
fun is_three(number) =
case numbers of
3 => true
| _ => false
Когда я пишу в следующих двух утверждениях я получаю это:
is_three;
val it = fn : int -> bool
SOME;
val it = fn : 'a -> 'a option
от поверхности они оба, кажется, функции, возвращаемые значения. Однако, если я пытаюсь использовать is_three в случае заявления я получаю следующее:
stdIn:20.9-20.19 Error: non-constructor applied to argument in pattern: is_three
fun are_threes(numbers) =
case numbers of
[] => true
| is_three(x)::xs => true andalso are_threes(xs)
- как сазе можно выделить, Что конструктор и Что функция
- Почему функции не допускается в случае заявления?
еще один вариант, я думаю, оставить его во время выполнения, а не компилировать время. Где, если есть два варианта, которые могут совпадать, затем отбросить исключение во время выполнения. – Har
стр. вы имели в виду 4 + 2 = 6 во втором случае? – Har
@ Хэр да. Благодарю. –