Concatenate couples of key value.

Key and value are separated by couple_sep. Couples are separated by sep.

var m = new HashMap[Int, String]
m[1] = "one"
m[10] = "ten"
assert m.join("; ", "=") == "1=one; 10=ten"

Property definitions

core :: abstract_text $ Map :: join
	# Concatenate couples of key value.
	# Key and value are separated by `couple_sep`.
	# Couples are separated by `sep`.
	#
	# ~~~
	# var m = new HashMap[Int, String]
	# m[1] = "one"
	# m[10] = "ten"
	# assert m.join("; ", "=") == "1=one; 10=ten"
	# ~~~
	fun join(sep, couple_sep: String): String is abstract
lib/core/text/abstract_text.nit:2415,2--2425,54

core :: flat $ Map :: join
	redef fun join(sep, couple_sep)
	do
		if is_empty then return ""

		var s = new Buffer # Result

		# Concat first item
		var i = iterator
		var k = i.key
		var e = i.item
		s.append("{k or else "<null>"}{couple_sep}{e or else "<null>"}")

		# Concat other _items
		i.next
		while i.is_ok do
			s.append(sep)
			k = i.key
			e = i.item
			s.append("{k or else "<null>"}{couple_sep}{e or else "<null>"}")
			i.next
		end
		return s.to_s
	end
lib/core/text/flat.nit:1571,2--1593,4