В качестве обучающего упражнения с кодом FizzBuzz на F #.
Ссылка с кодом здесь работает нормально и выглядит хорошо
В приведенном выше коде я хочу изучить / использовать match вместо условий if, как показано ниже, поэтому я написал ниже функцию, которая работает для любого заданного значения int.
let fizzbuzz num =
match num with
| x when (x % 3 = 0 && x % 5 = 0) -> printfn "%s" "FizzBuzz"
| x when (x % 3 = 0) -> printfn "%s" "Fizz"
| x when (x % 5 = 0) -> printfn "%s" "Buzz"
| _ -> printfn "%s" (num.ToString())
;;
output:
fizzbuzz 15;;
FizzBuzz
val it : unit = ()
Однако в моем приведенном выше коде необходимо использовать список в качестве входных данных и выполнять функцию как рекурсивную. как я могу это сделать? Я понимаю работу списка, т.е. использую h :: t
и передаю t
в качестве восстановления в fizzbuzz
. Думаю, я борюсь с синтаксисом.
Приложите к вам руководство по использованию списка (сопоставление с образцом и аргумент аккумулятора) в приведенном выше коде?
Есть ли какой-нибудь блог / справочник о том, как использовать интерактивное окно F # с меньшим количеством клавиш, так как я снова набирал полный код для любая синтаксическая ошибка