Split a character string based on change of character: Difference between revisions
Content added Content deleted
(Updated C++ solution) |
(Added nim implementation) |
||
Line 519: | Line 519: | ||
<pre>{g,HHH,5,YY,++,///,\} |
<pre>{g,HHH,5,YY,++,///,\} |
||
</pre> |
</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}}== |
=={{header|Perl 6}}== |