Split a character string based on change of character: Difference between revisions

Added nim implementation
(Updated C++ solution)
(Added nim implementation)
Line 519:
<pre>{g,HHH,5,YY,++,///,\}
</pre>
 
 
=={{header|Nim}}==
<lang nim> proc splitOnDiff(str: string) : string =
result = ""
 
if str.len < 1: return result
 
var prevChar : char = str[0]
 
for idx in 0 .. < str.len:
if str[idx] != prevChar:
result &= ", "
prevChar = str[idx]
 
result &= str[idx]
 
 
assert splitOnDiff("""X""") == """X"""
assert splitOnDiff("""XX""") == """XX"""
assert splitOnDiff("""XY""") == """X, Y"""
assert splitOnDiff("""gHHH5YY++///\""") == """g, HHH, 5, YY, ++, ///, \"""
 
echo splitOnDiff("""gHHH5YY++///\""")</lang>
 
 
=={{header|Perl 6}}==
Anonymous user