2016-10-31 2 views
0

Когда я вызываю функции, возвращающие длинные списки или кортежи в оболочке Erlang, списки усекаются, показывая ... в конце, чтобы указать, что есть больше элементов, которые не отображаются. Как заставить оболочку отображать весь список?Отображение длинных списков в оболочке Erlang

Например: при вводе code:module_info()., следующий возвращается:

[{module,code}, 
{exports,[{objfile_extension,0}, 
      {load_file,1}, 
      {load_abs,1}, 
      {load_abs,2}, 
      {load_binary,3}, 
      {load_native_partial,2}, 
      {load_native_sticky,3}, 
      {delete,1}, 
      {purge,1}, 
      {soft_purge,1}, 
      {get_object_code,1}, 
      {stop,0}, 
      {root_dir,0}, 
      {lib_dir,0}, 
      {lib_dir,1}, 
      {lib_dir,2}, 
      {compiler_dir,0}, 
      {priv_dir,1}, 
      {stick_dir,1}, 
      {unstick_dir,1}, 
      {stick_mod,1}, 
      {unstick_mod,1}, 
      {is_sticky,1}, 
      {set_path,...}, 
      {...}|...]}, 
{attributes,[{vsn,[225576456026721604984939683025195514980]}, 
       {deprecated,[{rehash,0,next_major_release}]}]}, 
{compile,[{options,[{outdir,"/net/isildur/ldisk/daily_build/19_prebuild_master-opu_o.2016-06-21_20/otp_src_19/lib/kernel/src/../ebin"}, 
        {i,"/net/isildur/ldisk/daily_build/19_prebuild_master-opu_o.2016-06-21_20/otp_src_19/lib/kernel/src/../include"}, 
        warnings_as_errors,debug_info]}, 
      {version,"6.0.3"}, 
      {source,"/net/isildur/ldisk/daily_build/19_prebuild_master-opu_o.2016-06-21_20/otp_src_19/lib/kernel/src/code.erl"}]}, 
{md5,<<169,180,113,244,195,188,176,68,162,6,74,100,65, 
     30,60,100>>}] 

Я хотел бы, чтобы {set_path,...}, {...}|...]}, быть расширена, чтобы отобразить весь список в оболочке.

ответ

2

Используйте встроенную функцию оболочки rp/1, например:

rp(code:module_info()). 

rp(Term) эквивалентно io:format("~p", [Term]), который будет печатать то, что когда-либо Эрл срок вы предоставляете. См. Аналогичный вопрос here для более подробной информации.

Смежные вопросы