2010-04-21 2 views
0

Я установил интерпретатор sml отсюда: http://www.smlnj.org/, я использовал самораспаковывающийся .EXE для окон. (Я запускаю windows7 64 бит)Мой sml-компилятор не распознает простые операции над массивами (update (arr, int, int), array (int, int) и т. Д.). Помогите!

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

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

Noob оповещения

Благодаря

ответ

0

Попробуйте следующее 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 И #[...] нотация работает для создания векторов.