Я все еще пытаюсь изучить синтаксис Haskell, так как он не похож на любой другой язык программирования, который я видел раньше. В большинстве императивных языков программирования, можно создавать вложенные условные операторы, как это:Можно ли писать вложенные условные операторы в Haskell?
function thing1(x){
if(x > 2){
if(x < 5){
return 3;
}
else if(x < 10){
return 10;
}
else if(x >= 10){
return 6;
}
}
else{
return 4;
}
}
Однако, я до сих пор не понял, эквивалентный синтаксис в Haskell, после нескольких попыток: я пытался создать аналогичную функцию в Haskell , и я получил ошибку синтаксиса: prog.hs:10:1: parse error on input main'
:
thing1 x =
if x > 2 then
if x < 5 then
3
else if x < 10 then
10
else if(x >= 10)
6
else
4
main = do
putStr(show(thing1 6))
я не уверен, что это неправильно с синтаксисом здесь: есть даже возможность создавать вложенные условные операторы в Haskell, как и в других языках?
ошибка не связана с, если/еще здесь, но к выемке 'main'. Он должен начинаться в том же столбце, что и 'thing1'. – chirlu
Каков результат, если x> = 10? – chirlu
@chirlu Тогда он вернет '4', если программа была отформатирована правильно. –