OCaml странная вещь - PullRequest
       3

OCaml странная вещь

12 голосов
/ 20 февраля 2011

Может кто-нибудь объяснить это поведение верхнего уровня OCaml?

# 1________________________________1;;
- : int = 11

(большая строка представляет собой последовательность символов подчеркивания: '_')

Из любопытства эта программа также компилируется под ocamlc.

Ответы [ 3 ]

19 голосов
/ 20 февраля 2011

Подчеркивания допускаются в числах (и игнорируются) в OCaml. От http://www.cs.ru.nl/~tews/htmlman-3.10/lex.html#xhtoc5:

Для удобства и читаемости символы подчеркивания (_) принимаются (и игнорируются) в целочисленных литералах.

5 голосов
/ 17 февраля 2012

Это очень полезная функция, позволяющая избежать ошибок и облегчить чтение больших целых чисел:

1_000_000_000 легче читать, чем 100000000 (вы заметили, что я забыл ноль?).

3 голосов
/ 18 июня 2011

Существует несколько языков программирования, которые принимают символ подчеркивания как не значащий символ в целом числе. Ada, Perl, OCaml и, возможно, какой-то другой язык используют его для разделения тысяч, миллионов и миллиардов ... но вы можете использовать _ в любом месте целого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...