perl6

標準入力に入力が詰まってるかどうかを調べるには eof を使えばいいらしい

よく、標準入力を使って: % ps ax | grep hoge とかやるけど、Perl6 ではどーやるんだろーと思ったので、IO::Handle を調べていたら、 &eof を使えばいいっぽいということがわかったので、すくりぷよ書いてみた: #!/usr/bin/perl6 # -*- mode: perl6; -*- # …

MoarVM の Configure.pl を Perl6 で書こうとした話

Perl が書けなかったので、MoarVM の ./Configure.pl を Perl6 で書いて理解してみようと思った: use v6; use Getopt::Long; constant $NAME = 'moar'; constant $GENLIST = 'build/gen.list'; sub MAIN() { my Bool $failed = False; my %args; my %default…

すごくシンプル過ぎるビルドシステム書いた

2 日も空いちゃったけど、書いた。 いつしか加わってしまった Emacs の markdown-mode の末尾の半角スペース 2 つが 2 つのアンダーバーになってしまう クソ現象で markdown-mode が使えないため、text-mode を使っている。 と思ったら、Emacs を再起動した…

Perl6 の参照の話

というわけで、アドベントカレンダーを登録してないけどそんな気持ちでクソエントリを書いていこうと思う。 前もやったかもしれないけど、Perl6 の参照の話をしよう。 my @puyo = (1, 2, 3); 簡単な配列を入れた @puyo を宣言する。 そして、それを $myon に…

なんと Perl6 ではホームディレクトリを表すチルダを変換してくれない

嘘だろ?! って思ったんだけど、ほんとっぽい。 ~/.bashrc を /home/alice/.bashrc って変換してくれるようなバンドルされてるメソッドとか関数がないって意味ね。 # -*- mode: per6; -*- # \file: 00-childa.t use v6; use Test; plan 2; is $*HOME.add( '…

NativeCall つらい

GLib とか Gtk を NativeCall で呼び出そうとしてるんだけど、つらい。 C 言語でやるような typedef はどーやんの? GLib とかでこーいう感じの gsize は: typedef unsinged long gsize; Perl6 では以下のように constant る。 constant gsize = uint32; 構…

Perl6 の正規表現は不思議なんじゃなくて、自由だった

ここ を見て Perl6 のコードに移植するっていうのをやっていた。 Perl6 の正規表現が不思議すぎるなーと思って書いていたんだけど、よく読んだら自由だったらしい。 function isNumber (x) { if ( typeof x === 'number' ) return true; if ( /^0x[0-9a-f]+$…

Perl6 最速っぽい構文マスター

Perl6 の文法一覧です。 他の言語をある程度知っている方はこれを読めば Perl6 の基礎をマスターして Perl6 を書くことができるようになっているといいなー(私が)と思います。 基礎 バージョン指定 use v6; 標準出力への出力 print 文も使えますが、 print '…

Arch Linux で perl6 をインストールしてみた

まだ Perl6 の文法もわかっていないんですが、Perl6 を触ってみたくなったのでインストールしてみましょう。 perl6 で検索すると: % yaourt -Ss perl6 aur/perl-padre-plugin-perl6 0.71-1 (0) Padre::Plugin::Perl6 - Perl 6 Support for Padre aur/perl-pa…