say so '你好'~~ /你好/;
say '你好'.uniprop('Script');
say unimatch('你','Han');
say unimatch('你','Hani');
say '你好, hello'.uniprop('Script');
say '안녕하세요'.uniprop('Script');
say 'こんにちは'.uniprop('Script');
say uniname('一');
say 'Raku 入门abc指南'.comb(/<:Han>+/).join(',');
say 'Raku 入门abc指南'.comb(/<:Hani>+/).join(',');
say so ₆ ~~ /<:No>/;
say "\c[SUBSCRIPT ZERO]".ord;
say "\c[SUBSCRIPT ONE]".ord;
say "\c[SUBSCRIPT TWO]".ord;
say "\c[SUBSCRIPT THREE]".ord;
say "\c[SUBSCRIPT FOUR]".ord;
say "\c[SUBSCRIPT FIVE]".ord;
say "\c[SUBSCRIPT SIX]".ord;
say "\c[SUBSCRIPT SEVEN]".ord;
say "\c[SUBSCRIPT EIGHT]".ord;
say "\c[SUBSCRIPT NINE]".ord;
say "\c[SUPERSCRIPT ZERO]".ord;
say "\c[SUPERSCRIPT ONE]".ord;
say "\c[SUPERSCRIPT TWO]".ord;
say "\c[SUPERSCRIPT THREE]".ord;
say "\c[SUPERSCRIPT FOUR]".ord;
say "\c[SUPERSCRIPT FIVE]".ord;
say "\c[SUPERSCRIPT SIX]".ord;
say "\c[SUPERSCRIPT SEVEN]".ord;
say "\c[SUPERSCRIPT EIGHT]".ord;
say "\c[SUPERSCRIPT NINE]".ord;
('「' ~ .chr ~ '」' ~ .uniname ~ ', ').say if .uniname ~~ /SUBSCRIPT/ for 2070 .. 0x209F;
「ᵢ」LATIN SUBSCRIPT SMALL LETTER I,
「ᵣ」LATIN SUBSCRIPT SMALL LETTER R,
「ᵤ」LATIN SUBSCRIPT SMALL LETTER U,
「ᵥ」LATIN SUBSCRIPT SMALL LETTER V,
「ᵦ」GREEK SUBSCRIPT SMALL LETTER BETA,
「ᵧ」GREEK SUBSCRIPT SMALL LETTER GAMMA,
「ᵨ」GREEK SUBSCRIPT SMALL LETTER RHO,
「ᵩ」GREEK SUBSCRIPT SMALL LETTER PHI,
「ᵪ」GREEK SUBSCRIPT SMALL LETTER CHI,
「₀」SUBSCRIPT ZERO,
「₁」SUBSCRIPT ONE,
「₂」SUBSCRIPT TWO,
「₃」SUBSCRIPT THREE,
「₄」SUBSCRIPT FOUR,
「₅」SUBSCRIPT FIVE,
「₆」SUBSCRIPT SIX,
「₇」SUBSCRIPT SEVEN,
「₈」SUBSCRIPT EIGHT,
「₉」SUBSCRIPT NINE,
「₊」SUBSCRIPT PLUS SIGN,
「₋」SUBSCRIPT MINUS,
「₌」SUBSCRIPT EQUALS SIGN,
「₍」SUBSCRIPT LEFT PARENTHESIS,
「₎」SUBSCRIPT RIGHT PARENTHESIS,
「ₐ」LATIN SUBSCRIPT SMALL LETTER A,
「ₑ」LATIN SUBSCRIPT SMALL LETTER E,
「ₒ」LATIN SUBSCRIPT SMALL LETTER O,
「ₓ」LATIN SUBSCRIPT SMALL LETTER X,
「ₔ」LATIN SUBSCRIPT SMALL LETTER SCHWA,
「ₕ」LATIN SUBSCRIPT SMALL LETTER H,
「ₖ」LATIN SUBSCRIPT SMALL LETTER K,
「ₗ」LATIN SUBSCRIPT SMALL LETTER L,
「ₘ」LATIN SUBSCRIPT SMALL LETTER M,
「ₙ」LATIN SUBSCRIPT SMALL LETTER N,
「ₚ」LATIN SUBSCRIPT SMALL LETTER P,
「ₛ」LATIN SUBSCRIPT SMALL LETTER S,
「ₜ」LATIN SUBSCRIPT SMALL LETTER T,
)
('「' ~ .chr ~ '」' ~ .uniname ~ ', ').say if .uniname ~~ /SUBSCRIPT/ for 1 .. 0x2C7C;
「ٖ」ARABIC SUBSCRIPT ALEF,
「ᵢ」LATIN SUBSCRIPT SMALL LETTER I,
「ᵣ」LATIN SUBSCRIPT SMALL LETTER R,
「ᵤ」LATIN SUBSCRIPT SMALL LETTER U,
「ᵥ」LATIN SUBSCRIPT SMALL LETTER V,
「ᵦ」GREEK SUBSCRIPT SMALL LETTER BETA,
「ᵧ」GREEK SUBSCRIPT SMALL LETTER GAMMA,
「ᵨ」GREEK SUBSCRIPT SMALL LETTER RHO,
「ᵩ」GREEK SUBSCRIPT SMALL LETTER PHI,
「ᵪ」GREEK SUBSCRIPT SMALL LETTER CHI,
「₀」SUBSCRIPT ZERO,
「₁」SUBSCRIPT ONE,
「₂」SUBSCRIPT TWO,
「₃」SUBSCRIPT THREE,
「₄」SUBSCRIPT FOUR,
「₅」SUBSCRIPT FIVE,
「₆」SUBSCRIPT SIX,
「₇」SUBSCRIPT SEVEN,
「₈」SUBSCRIPT EIGHT,
「₉」SUBSCRIPT NINE,
「₊」SUBSCRIPT PLUS SIGN,
「₋」SUBSCRIPT MINUS,
「₌」SUBSCRIPT EQUALS SIGN,
「₍」SUBSCRIPT LEFT PARENTHESIS,
「₎」SUBSCRIPT RIGHT PARENTHESIS,
「ₐ」LATIN SUBSCRIPT SMALL LETTER A,
「ₑ」LATIN SUBSCRIPT SMALL LETTER E,
「ₒ」LATIN SUBSCRIPT SMALL LETTER O,
「ₓ」LATIN SUBSCRIPT SMALL LETTER X,
「ₔ」LATIN SUBSCRIPT SMALL LETTER SCHWA,
「ₕ」LATIN SUBSCRIPT SMALL LETTER H,
「ₖ」LATIN SUBSCRIPT SMALL LETTER K,
「ₗ」LATIN SUBSCRIPT SMALL LETTER L,
「ₘ」LATIN SUBSCRIPT SMALL LETTER M,
「ₙ」LATIN SUBSCRIPT SMALL LETTER N,
「ₚ」LATIN SUBSCRIPT SMALL LETTER P,
「ₛ」LATIN SUBSCRIPT SMALL LETTER S,
「ₜ」LATIN SUBSCRIPT SMALL LETTER T,
「⨧」PLUS SIGN WITH SUBSCRIPT TWO,
「ⱼ」LATIN SUBSCRIPT SMALL LETTER J,
)
('「' ~ .chr ~ '」' ~ .uniname ~ ', ').say if .uniname ~~ /SUPERSCRIPT/ for 2070 .. 0x209F;
「⁰」SUPERSCRIPT ZERO,
「ⁱ」SUPERSCRIPT LATIN SMALL LETTER I,
「⁴」SUPERSCRIPT FOUR,
「⁵」SUPERSCRIPT FIVE,
「⁶」SUPERSCRIPT SIX,
「⁷」SUPERSCRIPT SEVEN,
「⁸」SUPERSCRIPT EIGHT,
「⁹」SUPERSCRIPT NINE,
「⁺」SUPERSCRIPT PLUS SIGN,
「⁻」SUPERSCRIPT MINUS,
「⁼」SUPERSCRIPT EQUALS SIGN,
「⁽」SUPERSCRIPT LEFT PARENTHESIS,
「⁾」SUPERSCRIPT RIGHT PARENTHESIS,
「ⁿ」SUPERSCRIPT LATIN SMALL LETTER N,
)
('「' ~ .chr ~ '」' ~ .uniname ~ ', ').say if .uniname ~~ /SUPERSCRIPT/ for 1 .. 0x10FFFD;
('「' ~ .chr ~ '」' ~ .uniname ~ ', ').say if .uniname ~~ /SUPERSCRIPT/ for 0x00B2 .. 0xFCD9;
「²」SUPERSCRIPT TWO,
「³」SUPERSCRIPT THREE,
「¹」SUPERSCRIPT ONE,
「ٰ」ARABIC LETTER SUPERSCRIPT ALEF,
「ܑ」SYRIAC LETTER SUPERSCRIPT ALAPH,
「⁰」SUPERSCRIPT ZERO,
「ⁱ」SUPERSCRIPT LATIN SMALL LETTER I,
「⁴」SUPERSCRIPT FOUR,
「⁵」SUPERSCRIPT FIVE,
「⁶」SUPERSCRIPT SIX,
「⁷」SUPERSCRIPT SEVEN,
「⁸」SUPERSCRIPT EIGHT,
「⁹」SUPERSCRIPT NINE,
「⁺」SUPERSCRIPT PLUS SIGN,
「⁻」SUPERSCRIPT MINUS,
「⁼」SUPERSCRIPT EQUALS SIGN,
「⁽」SUPERSCRIPT LEFT PARENTHESIS,
「⁾」SUPERSCRIPT RIGHT PARENTHESIS,
「ⁿ」SUPERSCRIPT LATIN SMALL LETTER N,
「ﱛ」ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM,
「ﱜ」ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM,
「ﱝ」ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM,
「ﱣ」ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM,
「ﲐ」ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM,
「ﳙ」ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM,
)
say '⅟'.uniname;
say '↉'.uniname;
say '⅔'.uniname;
say '¾'.uniname;
say '⅖'.uniname;
say '⅗'.uniname;
say '⅘'.uniname;
say '⅚'.uniname;
say '⅜'.uniname;
say '⅝'.uniname;
say '⅞ '.uniname;
say '½'.uniname;
say '⅓'.uniname;
say '¼'.uniname;
say '⅕'.uniname;
say '⅙'.uniname;
say '⅐'.uniname;
say '⅛'.uniname;
say '⅑'.uniname;
say '⅒'.uniname;
say "\c[VULGAR FRACTION ONE HALF]";
say "\c[VULGAR FRACTION ONE THIRD]";
say "\c[VULGAR FRACTION ONE QUARTER]";
say "\c[VULGAR FRACTION ONE FIFTH]";
say "\c[VULGAR FRACTION ONE SIXTH]";
say "\c[VULGAR FRACTION ONE SEVENTH]";
say "\c[VULGAR FRACTION ONE EIGHTH]";
say "\c[VULGAR FRACTION ONE NINTH]";
say "\c[VULGAR FRACTION ONE TENTH]";
say ⅒ * 3;
say '⅒'.uniname;
say '⁄'.uniname;
say "\x[2044]";
say "\x[2079,2044,2081,2080]";
say '⁹⁄₁₀'.uniname;
say 'ⁿ'.uniname;
say 'ⁿ'.uniprop('Script');
say so 'ⁿ'.uniname ~~ /SCRIPT/;
for 1 .. 0x10FFFD {
.chr.print if .chr ~~ /<:digit>/ && .uniname ~~ /Script/;
}
say "\x[2080]";
say "\x[2081]";
say "\x[2082]";
say "\x[2083]";
say "\x[2084]";
say "\x[2085]";
say "\x[2086]";
say "\x[2087]";
say "\x[2088]";
say "\x[2089]";
say "SUBSCRIPT ZERO".uniparse;
say "SUBSCRIPT ONE".uniparse;
say "SUBSCRIPT TWO".uniparse;
say "SUBSCRIPT THREE".uniparse;
say "SUBSCRIPT FOUR".uniparse;
say "SUBSCRIPT FIVE".uniparse;
say "SUBSCRIPT SIX".uniparse;
say "SUBSCRIPT SEVEN".uniparse;
say "SUBSCRIPT EIGHT".uniparse;
say "SUBSCRIPT NINE".uniparse;
say "\c[SUBSCRIPT ZERO]";
say "\c[SUBSCRIPT ONE]";
say "\c[SUBSCRIPT TWO]";
say "\c[SUBSCRIPT THREE]";
say "\c[SUBSCRIPT FOUR]";
say "\c[SUBSCRIPT FIVE]";
say "\c[SUBSCRIPT SIX]";
say "\c[SUBSCRIPT SEVEN]";
say "\c[SUBSCRIPT EIGHT]";
say "\c[SUBSCRIPT NINE]";
say '₀'.uniname;
say '₁'.uniname;
say '₂'.uniname;
say '₃'.uniname;
say '₄'.uniname;
say '₅'.uniname;
say '₆'.uniname;
say '₇'.uniname;
say '₈'.uniname;
say '₉'.uniname;
say "\c[SUPERSCRIPT ZERO]".ord;
say "\c[SUPERSCRIPT ONE]".ord;
say "\c[SUPERSCRIPT TWO]".ord;
say "\c[SUPERSCRIPT THREE]".ord;
say "\c[SUPERSCRIPT FOUR]".ord;
say "\c[SUPERSCRIPT FIVE]".ord;
say "\c[SUPERSCRIPT SIX]".ord;
say "\c[SUPERSCRIPT SEVEN]".ord;
say "\c[SUPERSCRIPT EIGHT]".ord;
say "\c[SUPERSCRIPT NINE]".ord;
say "SUPERSCRIPT ZERO".uniparse;
say "SUPERSCRIPT ONE".uniparse;
say "SUPERSCRIPT TWO".uniparse;
say "SUPERSCRIPT THREE".uniparse;
say "SUPERSCRIPT FOUR".uniparse;
say "SUPERSCRIPT FIVE".uniparse;
say "SUPERSCRIPT SIX".uniparse;
say "SUPERSCRIPT SEVEN".uniparse;
say "SUPERSCRIPT EIGHT".uniparse;
say "SUPERSCRIPT NINE".uniparse;
say "\c[SUPERSCRIPT ZERO]";
say "\c[SUPERSCRIPT ONE]";
say "\c[SUPERSCRIPT TWO]";
say "\c[SUPERSCRIPT THREE]";
say "\c[SUPERSCRIPT FOUR]";
say "\c[SUPERSCRIPT FIVE]";
say "\c[SUPERSCRIPT SIX]";
say "\c[SUPERSCRIPT SEVEN]";
say "\c[SUPERSCRIPT EIGHT]";
say "\c[SUPERSCRIPT NINE]";
say '⁰'.uniname;
say '¹'.uniname;
say '²'.uniname;
say '³'.uniname;
say '⁴'.uniname;
say '⁵'.uniname;
say '⁶'.uniname;
say '⁷'.uniname;
say '⁸'.uniname;
say '⁹'.uniname;
say "\x[2140]";
say "\x[2142]";
say "\x[2143]";
say "\x[2144]";
say "\x[2145]";
say "\x[2146]";
say "\x[2147]";
say "\x[2148]";
say "\x[2149]";
say "\x[2150]";
say "\x[2151]";
say "\x[2152]";
say "\x[2153]";
say "\x[2154]";
say "\x[2155]";
say "\x[2156]";
say "\x[2157]";
say "\x[2158]";
say "\x[2159]";
say "\x[2160]";
say "\x[2161]";
say "\x[2162]";
say "\x[2163]";
say "\x[2164]";
say "\x[2165]";
say "\x[2166]";
say "\x[2167]";
say "\x[2168]";
say "\x[2169]";
say "\x[2170]";
say "\x[2171]";
say "\x[2172]";
say "\x[2173]";
say "\x[2174]";
say "\x[2175]";
say "\x[2176]";
say "\x[2177]";
say "\x[2178]";
say "\x[2179]";
say "\x[2180]";
say "\x[2181]";
say "\x[2182]";
say "\x[2183]";
say "\x[2184]";
say "\x[2185]";
say "\x[2186]";
say "\x[2187]";
say '½'.uniname;
say '⅓'.uniname;
say '⅔'.uniname;
say '¼'.uniname;
say '¾'.uniname;
say '⅕'.uniname;
say '⅖'.uniname;
say '⅗'.uniname;
say '⅘'.uniname;
say '⅙'.uniname;
say '⅚'.uniname;
say '⅐'.uniname;
say '⅛'.uniname;
say '⅜'.uniname;
say '⅝'.uniname;
say '⅞'.uniname;
say '⅑'.uniname;
say '⅒'.uniname;
say '³⁄₄₇'.ords;
say '³⁄₄₇'.ords;
say "\c[179]";
say "\c[179]".uniname;
say "\c[8260]";
say "\c[8260]".uniname;
say "\c[8309,8260,8324,8329]";
say '⁵⁄₄₉'.ords;
say (⁵⁄₄₉).WHAT;
sub i-love-you {
for 15 ...^ -15 -> $y {
for -150, -145 ...^ 150 -> $x {
if ( ($x/100)² + ($y/10)² - 1)³ - (($x/100)²) * (($y/10)³ ) <= 0 {
print('*');
} else {
print(" ");
}
}
say();
}
}
i-love-you();
put unival('一');
put unival('二');
put unival('三');
put unival('四');
put unival('五');
put unival('六');
put unival('七');
put unival('八');
put unival('九');
put unival('十');
put unival('百');
put unival('千');
put unival('万');
put unival('亿');
put unival('壹');
put unival('贰');
put unival('叁');
put unival('肆');
put unival('伍');
put unival('陆');
put unival('柒');
put unival('捌');
put unival('玖');
put unival('拾');
put unival('佰');
put unival('仟');
put unival('萬');
put unival('億');
put univals('三千六百');
put univals('四万万');
put univals('十三亿');