В чем разница между методами литья/преобразования типа Ocaml ниже?Разница между литьем OCaml
let a = (float) b ;;
И
let a = float_of_int b ;;
(Рассмотрим поплавковый и Ь представляет собой целое число.) Есть ли преимущество один над другим? или они такие же?
Интересно, как '(float)' не приводит к (ошибочному) приложению 'float' к 0 аргументам (ошибочно, потому что он ожидает аргумент' int'). Я должен пересмотреть синтаксис .. –
OCaml-функции - это значения первого класса, и вы всегда можете использовать их с меньшим количеством аргументов, чем они принимают, в том числе 0. Подгонка любого выражения разрешена, а имя функции (являющееся значением первого класса) является выражение. –
@HunanRostomyan Синтаксис вызова функции в OCaml - это просто выражение выражения, в котором первое выражение должно оцениваться функцией. Обратите внимание, что никакие круглые скобки не являются частью этого синтаксиса. Скобки просто используются для группировки выражений и могут быть добавлены вокруг любого выражения (например, вы могли бы написать '(1) + (2)', если хотите). – sepp2k