Удаление хеша из мл выхода - PullRequest
2 голосов
/ 13 марта 2011

Я написал функцию ml, и в выводе я получаю = Mary ("a", [Zary #, Zary #]), где Mary и Zary - конструкторы.Но, как вы можете видеть, есть некоторые "#" в выводе.если я делаю Вэл Мэри ("а", х) = out;тогда он показывает x = [Zary ("b"), Zary ("c")];что верно.

Я хочу получить полный вывод вместо хешей.Пожалуйста, помогите мне.

1 Ответ

3 голосов
/ 13 марта 2011

Если (как это имеет место) вы используете SML / NJ, то вам нужно установить значение Control.Print.printDepth или Compiler.Control.Print.printDepth (в зависимости от используемой версии SML / NJ) в значение больше, чем по умолчанию.

Хэши используются как аббревиатура, чтобы сделать сложный вывод более управляемым. Пороговые значения, определяющие, насколько сложным должен быть данный бит вывода перед его удалением, довольно низкие. (Существует также порог printLength, определяющий выбор длинных списков в отличие от глубоко вложенных структур.)

См. http://www.smlnj.org/doc/Compiler/pages/printcontrol.html для официальной документации.

...