Humanity

Edit the world by your favorite way

胸が熱くなるな

Cool Things in Perl 6 | Ovid [blogs.perl.org]

Perl6ではやりたかったことがどんどんできるようなる。


Perlでもtieを使えばできなくはないけど、入力をチェックしたいだけなのに何個ものメソッドを実装しなきゃいけないし、クラスを作るとなるとやはり別ファイルに分けた方がいいという理由から色々面倒くさい。
Tie::Simpleってのもあるけど、各メソッドを実装しなきゃいけないのは変わらない。


これ使えば数値から文字列へ自動的に変換されるのを防ぐsubset*1を作れば、ord, chr, hex, vecとかの組み込み関数を使う時に自動的に文字列と数値間で変換されちゃって混乱することもなくなるかも。
どうせならRubyみたく自動的に変換しないようにしてほしいけど、それを好んでるPerlerもいるみたいだし...(弾さんとか)


まぁ上記の関数で混乱するのは元となる(?)pack, unpack関数についてまだ自分がよく分かってないせいだ(と思う)から、いつかそれについて書く予定。
perldoc読めば全て載ってることなので、ただまとめればいいだけなんだけどね。



追記:
ちょっとタイトルが大げさすぎた。
このコード自体は対したことやってなくて、ただ$fooって変数に代入する時に、
それが存在しているファイルへのパス名でなかったらエラーになってくれるってだけのコード。多分。実は自分もよくわかってない。
恐らく「$_ ~~ :f」ってのは「-f $_」って意味かなーと「予想」した。
なんでこんな追記したかっていうと「わからない」って言ってる人を見たので、もしかしたら同じように思ってる人がいるかもしれないので。
全然Perl6詳しくない上に間違ってるかもしれない俺が言うのもアレだけど。


そもそもsubsetってなんだろ。クラスとは違うんだろうか。
subsetって名前からして、事前にStrであるというチェックも入るとか?多分そんな気がする。

*1:名前はこれでいいのかな?