Я изучаю OCaml, и на данный момент я начинающий.Я пытаюсь привыкнуть к синтаксису, и я просто потратил 15 минут на отладку глупой синтаксической ошибки.
let foo a b = "bar";;
let biz = foo 2. -1.;;
Я получил ошибку This expression has type 'a -> string but an expression was expected of type int
.Я исправил ошибку, но это побудило меня узнать, как лучше всего справиться с этой синтаксической особенностью.
По сути, OCaml рассматривает то, что я предполагал как числовую константу -1.
, как два отдельных токена: -
и1.
и я передаю только 1 аргумент foo
.На других языках, с которыми я знаком, этого не происходит, потому что аргументы разделяются запятой (или в Схеме есть круглые скобки).
Как обычно обрабатывать эту особенность синтаксиса в OCaml?Он заключен в круглые скобки (foo 2. (-1.)
) или есть какой-то другой способ?