Viewing contents of file '../idllib/jhuapls1r/usr/commalist.pro'
;-------------------------------------------------------------
;+
; NAME:
;       COMMALIST
; PURPOSE:
;       Return a given array as a comma delimited text list.
; CATEGORY:
; CALLING SEQUENCE:
;       list = commalist(array, [form])
; INPUTS:
;       array = Input array of numbers.          in
;       form = Optional format (like I3).        in
; KEYWORD PARAMETERS:
;       Keywords:
;         /NOCOMMAS  do not add commas to returned list.
; OUTPUTS:
;       list = Returned text string with list.   out
; COMMON BLOCKS:
; NOTES:
;       Note: see wordarray as a near inverse.
; MODIFICATION HISTORY:
;       R. Sterner, 1995 Nov 28
;
; Copyright (C) 1995, Johns Hopkins University/Applied Physics Laboratory
; This software may be used, copied, or redistributed as long as it is not
; sold and this copyright notice is reproduced on each copy made.  This
; routine is provided as is without any express or implied warranties
; whatsoever.  Other limitations apply as described in the file disclaimer.txt.
;-
;-------------------------------------------------------------
	function commalist, arr, fmt, nocommas=nocom, help=hlp
 
	if (n_params(0) lt 1) or keyword_set(hlp) then begin
	  print,' Return a given array as a comma delimited text list.'
	  print,' list = commalist(array, [form])'
	  print,'   array = Input array of numbers.          in'
	  print,'   form = Optional format (like I3).        in'
	  print,'   list = Returned text string with list.   out'
	  print,' Keywords:'
	  print,'   /NOCOMMAS  do not add commas to returned list.'
	  print,' Note: see wordarray as a near inverse.'
	  return,''
	endif
 
	;------  Determine default format if needed  --------
	i = isnumber(max(arr))>isnumber(min(arr))
	fmt0 = 'I'
	if i gt 1 then fmt0 = 'G13.5'
	if n_elements(fmt) eq 0 then fmt = fmt0
 
	;-------  Format list  --------------
	n = n_elements(arr)
	if n eq 0 then return,''
	if n eq 1 then return, strtrim(string(arr,form='('+fmt+')'),2)
	lst = strtrim(n-1,2)
	if keyword_set(nocom) then $
	  form="("+fmt+","+lst+"("+fmt+"))" $
	else form="("+fmt+","+lst+'(",",'+fmt+"))"
	list = strcompress(string(arr,form=form))
	return, list
 
	end