魔法が解けた

以前から、id:dankogaiさんとか、Perlのモジュール開発しちゃったりなんかしている人のPerlのソースは、呪文みたいでなにがなんだかわからんがスゲェ、しかしやっぱり分からん、さっぱり分からん・・・・
と思っていたのですが、ちょっとした事でなんとか解読できるようになりました。

ちょっとした、いや自分にとってはすごい悟り体験だった。
昨日もWEB+DBのPerlの記事をダラダラ読んでいて、
map なんちゃら 配列、とか書いてあってですね。
出たよ。map。ちきしょーこのテクマクマヤコンめが、今日こそはやっつけてやるぞ!
と思い立ちWEBでテキトーに検索してみたんですよ。
(最初につまづいた時点で調べろよw、なことはとりあえず置いといてくれると僕のライフがへりません)

要するに、
map 処理(関数でも、{なんちゃら}でもよい) @配列;
とすると、@配列のそれぞれの要素を$_として処理を適用した結果を、配列にして返してくれるらしい。

え、それって

object function( object argObj ){
    //処理
    return result;
}

object[] map( object[] objects ){
    object[] results = new object[objects.length];
    for( int i=0 ; i < objects.length ; i++ ){
        results[i] = this.function( objects[i] );
    }
    return result;
}

ってこと?
※以降そゆこと連呼でウザいので注意。

そゆこと?
うお、そゆこと?
えええ、そゆこと??
え、わかんじゃん!
この呪文、おれにもわかんじゃん!?


これをきっかけに「わかんじゃん!」という勢いにのってPerlの不思議な呪文的なイディオムをそゆことそゆこと言いながら調べていって、Perlでできることがかなり広がりました。
「s///e」とか、「shift」とか、いままでいまいち感覚的によくわかっていなかったことがなんだそんなことか、という具合に体得できたのです。

ええっと、強引に纏めさせていただくと、「これは自分にはわかる!」という確信をもって事に当たると、理解力が増す部分があるのかな、と感じました。
いまは呪文に見えるようなものでも、きっと分かる、と思っているとブレイクスルーの機会が広がるのかな、と思います。