Предполагая, что это SML / NJ, вы можете использовать printLength
, printDepth
и друзей из структуры Control.Print .
Ниже приведен фрагмент из документации структуры Control.Print :
printDepth
The depth of nesting of recursive data structure at which ellipsis begins.
printLength
The length of lists at which ellipsis begins.
stringDepth
The length of strings at which ellipsis begins.
Таким образом, например, мы можем изменить количество элементов списка, которые мы не хотим отображать в REPL, изменив ссылку printLength
- Control.Print.printLength;
val it = ref 12 : int ref
- [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19];
val it = [1,2,3,4,5,6,7,8,9,10,11,12,...] : int list
- Control.Print.printLength := 18;
val it = () : unit
- [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19];
val it = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,...] : int list
- Control.Print.printLength := 100;
val it = () : unit
- [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19];
val it = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19] : int list
Обратите внимание, что для строк и структур данных многоточие записывается в виде хеша '#'. Это, например, видно из приведенной ниже строки. Обратите внимание на '#' в конце строки val it = ...
, потому что глубина печати строк по умолчанию составляет 70 символов:
- "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.";
val it = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusm#" : string
- Control.Print.stringDepth;
val it = ref 70 : int ref
И, наконец, пример того, как это видно во вложенных структурах данных:
- Control.Print.printDepth;
val it = ref 5 : int ref
- SOME (SOME (SOME (SOME (SOME (SOME (SOME 42))))));
val it = SOME (SOME (SOME (SOME (SOME #))))
: int option option option option option option option
- Control.Print.printDepth := 10;
val it = () : unit
- SOME (SOME (SOME (SOME (SOME (SOME (SOME 42))))));
val it = SOME (SOME (SOME (SOME (SOME (SOME (SOME 42))))))
: int option option option option option option option
Два предложенных решения приведут к печати всего списка независимо от его длины.