In Cool§
See primary documentation in context for method uniparse
method uniparse(Cool:D: --> Str:D)
Available as of the 2021.04 release of the Rakudo compiler.
Coerces the invocant to a Str
and then calls the uniparse on that. This mostly only makes sense for Match
objects.
In Str§
See primary documentation in context for routine uniparse
sub uniparse(Str:D $names --> Str:D) method uniparse(Str:D $names: --> Str:D)
Takes string with comma-separated Unicode names of characters and returns a string composed of those characters. Will fail
if any of the characters' names are empty or not recognized. Whitespace around character names is ignored.
say "I {uniparse 'TWO HEARTS'} Raku"; # OUTPUT: «I 💕 Raku» 'TWO HEARTS, BUTTERFLY'.uniparse.say; # OUTPUT: «💕🦋»
See uniname and uninames for routines that work in the opposite direction with a single codepoint and multiple codepoints respectively.
Note that unlike \c[...]
construct available in string interpolation, uniparse
does not accept decimal numerical values. Use chr routine to convert those:
say "\c[1337]"; # OUTPUT: «Թ» say '1337'.chr; # OUTPUT: «Թ»
Note: before being standardized in 2017.12, this routine was known under its working name of parse-names. This denomination will be removed in the 6.e version.