parse.rb
def join(*args, pre: "", post: "", pre_item: "", post_item: "", join: :auto, **kwds)
			args=args.first if args.length==1 and Array===args.first
			args=args.map {|i| try_expand_symbol(i,**kwds).first}
			list=args.compact.map {|i| pre_item+i+post_item}.delete_if {|i| i.empty?}
			r=list.shift
			list.each do |s|
				if join==:auto
					if r[r.length-1]=="\n" or s[1]=="\n"
						r+=s
					else
						r+=" "+s
					end
				else
					r+=join+s
				end
			end
			if r.nil? or r.empty?
				return nil
			else
				return pre+r+post
			end
		end
#if args is of size 1 and an array we join the elements of this array
if args is of size 1 and an array we join the elements of this array
if args is of size 1 and an array we join the elements of this array
def join(*args, pre: "", post: "", pre_item: "", post_item: "", join: :auto, **kwds)
			args=args.first if args.length==1 and Array===args.first
			args=args.map {|i| try_expand_symbol(i,**kwds).first}
			list=args.compact.map {|i| pre_item+i+post_item}.delete_if {|i| i.empty?}
			r=list.shift
			list.each do |s|
				if join==:auto
					if r[r.length-1]=="\n" or s[1]=="\n"
						r+=s
					else
						r+=" "+s
					end
				else
					r+=join+s
				end
			end
			if r.nil? or r.empty?
				return nil
			else
				return pre+r+post
			end
		end
def join ( * args , pre : "" , post : "" , pre_item : "" , post_item : "" , join : :auto , ** kwds ) args = args . first if args . length == 1 and Array === args . first args = args . map { | i | try_expand_symbol ( i , ** kwds ) . first } list = args . compact . map { | i | pre_item + i + post_item } . delete_if { | i | i . empty? } r = list . shift list . each do | s | if join == :auto if r [ r . length - 1 ] == "\n" or s [ 1 ] == "\n" r += s else r += " " + s end else r += join + s end end if r . nil? or r . empty? return nil else return pre + r + post end end
if args is of size 1 and an array we join the elements of this array
if args is of size 1 and an array we join the elements of this array
args
pre
post
pre_item
post_item
join
kwds