Мой компилятор sml не распознает простые операции над массивами (обновление (arr, int, int), массив (int, int) и т. Д.). Помогите! - PullRequest
0 голосов
/ 21 апреля 2010

Я установил интерпретатор sml отсюда: http://www.smlnj.org/, Я использовал самораспаковывающийся .EXE для Windows. (У меня работает windows7 64 бит)

Несмотря на то, что работают простые операции с основными типами данных, он не распознает операции с массивами / векторами (обновление, конструктор массива и т. Д.). Нужно ли устанавливать что-то еще, чтобы это работало?

Может быть, есть проблема в моем понимании синтаксиса, может ли кто-нибудь предоставить пример кода, который говорит, что объявляет массив длины 10, инициализируется в 0 и затем добавляет 1 к каждому значению?

noob alert

Спасибо

1 Ответ

0 голосов
/ 18 сентября 2010

Попробуйте следующее в SML / NJ:

- Vector.map (fn (a) => a+1) (Vector.tabulate (10, fn (a) => 0));
val it = #[1,1,1,1,1,1,1,1,1,1] : int vector

Операции над векторами доступны здесь: http://www.standardml.org/Basis/vector.html#Vector:STR:SPEC И нотация #[...] работает и для создания векторов.

...