€Dø˜ or øS (both 05AB1E versions)
ζ˜ or ζS (new 05AB1E version only)
€Â€D or €Â (new 05AB1E version only)
.ι (new 05AB1E version only)
ºS (new 05AB1E version only)
·S or xS (legacy 05AB1E version only)
+S (legacy 05AB1E version only)
ø˜ (both 05AB1E versions)
Try ø˜
online or Try øS
online.
Try ζ˜
online or Try ζS
online.
Try €D
online.
or
Try €Â
online..
Try .ι
online.
Try ºS
online.
Try ·S
online. or Try xS
online.
Try +S
online.
Try øS
online.
€D ø # Duplicate each character# ofZip/transpose the (implicit) input-list with itself
# i.e. ["a","b","c"] → [["a","a"],["b","b"],["c","c"]]
˜ # Deep flatten it
# keepingOR
allS values on the# stackConvert intoit theto resultinga flattened list of characters
# (which will be output implicitly as result)
€Â
The only program which works the same in both versions of 05AB1E. :)
ζ # BifurcateZip/transpose (shortthe for(implicit) duplicateinput-list &with reversethe copy(implicit) eachinput-list
character of the
# i.e. #["a","b","c"] (implicit)→ input-list[["a","a"],["b","b"],["c","c"]]
keeping˜ all values on# theDeep stackflatten intoit
the resulting # OR
S # Convert it to a flattened list of characters
# (which will be output implicitly as result)
In the newThis version of 05AB1E, it keeps all values onbasically works the stack intosame as the resulting listone above for the new version. Whereas withIn the legacyold version of 05AB1E ityou would only keep the top valueneed an explicit pair ‚
first, and then you could zip/transpose that. Which is why these only workJust ζ
on a 1D list will be a no-op in the newlegacy version of 05AB1E.
º €D # MirrorFor each valuecharacter in the (implicit) input-list,
# keeping i.e.all ["a","b","c"]values →on ["aa","bb","cc"]the stack into the resulting list:
SD # ConvertDuplicate it
to a flattened list of# charactersOR
 # Bifurcate it (short for duplicate & reverse copy)
# (which will be output implicitly as result)
.ι # Interleave the (implicit) input-list with the (implicit) input-list
# (which will be output implicitly as result)
In the new version of 05AB1E, it keeps all values on the stack into the resulting list. Whereas with the legacy version of 05AB1E it would only keep the top value. Which is why these only work in the new version.
º # Mirror each value in the (implicit) input-list
# i.e. ["a","b","c"] → ["aa","bb","cc"]
S # Convert it to a flattened list of characters
# (which will be output implicitly as result)
· # Double each character
# OR
x # Double each character (without popping)
# i.e. ["a","b","c"] → ["aa","bb","cc"]
S # Convert it to a flattened list of characters
# (which will be output implicitly as result)
Again, because the legacy version of 05AB1E was built in Python, "a"+"a"
results in "aa"
, whereas the +
cannot be used to append strings in the new version. (PS: There is an append for strings which works in both version, which is «
, but when giving two list arguments it will concatenate them together instead of merging each string at the same indices like the program above (Try it here).)
ø # Zip the (implicit) input-list with itself
# i.e. ["a","b","c"] → [["a","a"],["b","b"],["c","c"]]
˜ # Deep flatten it
# (which will be output implicitly as result)
The only program which works the same in both versions of 05AB1E. :)