Perl6 の正規表現は不思議なんじゃなくて、自由だった
ここ を見て Perl6 のコードに移植するっていうのをやっていた。
Perl6 の正規表現が不思議すぎるなーと思って書いていたんだけど、よく読んだら自由だったらしい。
function isNumber (x) { if ( typeof x === 'number' ) return true; if ( /^0x[0-9a-f]+$/i.test( x ) ) return true; return /^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test( x ); }
は Perl6 で書くと多分こうなる:
sub is-number($x) { return True if $x.WHAT ~~ Numeric; return True if $x ~~ /^0x<[0..9a..fA..F]>+$/; $x ~~ /^<[-+]>?(<:digit>+)?(\.<:digit>*)?(e<[-+]>?<:digit>+)?$/; }
ʕ•͡ω•ʔ 眠い