NEW <- : 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 : -> OLD

2007/01/30

後方参照のおべんきょう

実験その1:


  do {
      while (my $line = shift(@hairetsu)) {
        $line =~ /(PATTERN2)-(PATTERN3)/;
        $tmp = "$1, $2\n";
      }
    }
  } while ($p =~ s/(PATTERN1)//);
  print $tmp;

Whileの条件文内でパターンマッチ、doブロック内でもパターンマッチをして、 両方ともに()をつけてグループ化(後方参照)してみた。簡単にいうと。

結果:


PATTERN1,
PATTERN2,PATTERN3,
PATTERN2,
PATTERN1,
PATTERN1,
PATTERN2,
PATTERN1,
PATTERN1,
PATTERN2,
PATTERN1,
PATTERN1,
PATTERN2,
PATTERN1,
PATTERN1,

深層のwhileブロック内でマッチするパターンがあった場合は、正しくPATTERN2とPATTERN3を 出力してくれたが、PATTERN2もPATTERN3もマッチしなかった時はwhileの条件文でマッチした PATTERN1がどこからともなく呼び出されていた。ような。

深層のwhileブロックがループ開始戻った段階で$n(数字)の値は、毎回毎回最上層の while条件文でマッチした値に初期化されているとゆうか。

つまりこうすると、


  do {
      while (my $line = shift(@hairetsu)) {
        $tmp = "$1, $2\n";
        $line =~ /(PATTERN2)-(PATTERN3)/;
      }
    }
  } while ($p =~ s/(PATTERN1)//);
  print $tmp;

PATTERN1,しか出力しなくなるわけなんですよ。

こういった動作について言及してるサイトってないかなー?

#元のflavourdirの"while ($p =~ s/(\/*[^\/]*)$// and $1);" の意味がいまだによくわからない・・・これ別に後方参照しなくてもいいんじゃね?

2007/01/29

flavourdir+themeと後方参照の罠

先々週の日曜から恩師に頼まれて高校生ドモにスキー教えてたら、最終日に熱出した。 なんとかスキー教習終えて家に帰って熱測ったら38度2分とかでてんの。ふざけてる。 オイラは恩師の頼みで仕方なく(会社にナイショで)無償奉仕で高校生にスキー教えた。 仕方なくである! キャホホーイ! その見返りが38度2分とはコレどういうことか。 キャホホーイ! 納得いかん。キャホホーイ! まあそんなわけで死んでました。今は生きてます。

さて本題に入ろうか。このブログのメインプログラムは言うまでもなく blosxomです。blosxomには Movable Type(以下"MT") と似たような「テンプレート機能」があります。ただし「テンプレート」と呼ばずに 「フレーバー」と呼びます。風味とか味つけとかいう意味らしいです。MTのテンプレートや 「テーマ」などのシステムがどういうものかは正直知らないですが、blosxomの場合は、 整形されたHTMLファイルとCSSとそれらに関連づけられた画像等を一セット用意すれば HTMLファイルを分割するだけでそれがフレーバーになる感じです。

で、ここに長所とも短所ともとれる特徴がある。blosxomの「フレーバー」システムは、 テンプレートといえるHTMLデータを、「content_type」「head」「date」「story」「foot」 の5つに分割して管理・保存しなければならないのです。例えば「cupy」というフレーバー (フレーバーの名前は自由につけることができる)を作成したとして、cupyフレーバーは 「content_type.cupy」「head.cupy」〜「foot.cupy」と、最低でも5つのファイルを作る 必要があるのです。つまりフレーバーの数が増えればそれに×5倍してファイル数の増える増える。 CSSや画像を別に用意する必要も(場合によっては)あるわけで。さらにその上、 フレーバーを設置するディレクトリは基本的に記事を設置するディレクトリと同じなの。 つまり記事データとフレーバーファイルがゴッチャ混ぜになってアララ大変なことにもなりかねぬ。

と、いうわけで例によってプラグインでこれを解決するのです。幸い、既に考案されてる プラグインに「flavourdir」という、記事を設置するディレクトリとフレーバーを設置する ディレクトリを分割してしまえるプラグインがあるのです。さらにその上、「theme」という わざわざ5分割して保存することなくフレーバーをひとまとめのファイルにして管理する プラグインもあったのです。ここにきてようやく表題に追いついた。

ようはこの二つのプラグインを合体さして「別ディレクトリに追いやりつつ見やすく、 管理しやすくしてしまおう」という魂胆。ソースを眺めて大体アタリをつけてれっつら ガチャン。プラグイン、バグった。当たり前やがな。そんなポン付けで動いたら誰も苦労せん。 それはさておきなんで動かないのだろうか。いつもここから俺のPerlのおべんきょうがはじまる。 ポン付けでも文法的にはさして問題なかった気はするのだが。む、む。 content_typeのフレーバーだけがなぜか適用されている事に気づいた。ということはアレか、 いやコレか。

色々考えてるうちに「後方参照」という単語に行きついた。

だれかまじめに教えてほしいんですけど、

do {
    処理
} while (条件文);

という処理があったときさー、

do {
    $q =~ /(foo)(bar)/;
    $a = $1;
    $b = $2;
} while ($p =~ s/(PATTERN)// and $1);

みたいなふうなコードがあったとしてさー、whileの条件文内でマッチした場合、 do内の処理の$a=$1にはPATTERNが入っちゃうわけでしょうか? とすると$2はfoo?  とりあえずなんとかはしたしうまいとこ動いてるようだけど、なんかしっくりしない。

とりあえず改造版flavourdir

1/30追記。ちゃんと使い方ぐらい書いておこうかと思った。

フレーバーを入れておきたいディレクトリを$flavour_dirに、フレーバーファイル の拡張子を$extに(フレーバー名でなくファイルの拡張子。)設定して、フォールバック の有無(もし$flavour_dirに希望のフレーバーが無かった場合、元のテンプレート機能、 つまり$blosxom::datadir内を漁ってフレーバーを探すかどうか)を指定したら、 $flavour_dirで指定したディレクトリにフレーバーを入れるだけ。フレーバーファイルの 書式は<!-- blosxom content_type text/html; charset=UTF-8 -->とか <!-- blosxom head --><!-- blosxom date --><!-- blosxom story --> <!-- blosxom foot -->を、それぞれのブロックの先頭に書いておけばOK。 というか本当に単純にflavourdir+themeしただけなのでここまで書いておきながら やっぱ別に説明とかいらなかったなーとか後悔。

2007/01/18

スキル「リズム」が0.3あがった

前回の記事で音は幸福を運び、そして耳から摂取しケツから出た幸福のカスにもまた 幸福が残留しているということについて言及した。つまりケツから出る音は福音であると 証明されたわけである。あートイレすっきりした。

どんだけ長い間トイレに篭ってたのか。それはどうでもいい。俺の大便室滞在時間は 長い。そんなことより音である。俺は近頃ティンホイッスルをいじくり回している。 ティンホイッスルというのは楽器で、つまり縦笛。実に安っぽい音が出る。 しかし工夫次第でそれは人の心をも打つという。というわけで俺は励む。

念のため書いておくと縦笛吹くのが上手になったからといってモテるわけではない。 縦笛を吹いている様は口をすぼめたり頬を膨らましたり、なんだか卑猥である。 見た目はあまりおよろしくない。吹く人によってはちょっとキモい。つまり俺だ。 つまり俺はモテたいがために楽器を習い始めたというわけではない、ということを ここに宣言したことになる。そう、純粋に音楽を楽しむ心。

ではならばなぜここに関心無いはずのことを書く必要があるのか。それはすなわち 自分の心の奥に「実はそうは思っていない」自分がいるからである。つまりモテたい。 はい、俺はやはりモテたいのです。縦笛如何に関わらず。でも俺が縦笛吹いてる姿を見て 「えっ・・・やだ何この人ちょっとカッコイイかも(はーと)」 とかいうフラグが立ったらいいな。立たない。

ずいぶん長いこと話が飛んだ。とにかく縦笛を吹いている。 最近「ジグ」と呼ばれるジャンルの曲を練習している。 これは8分の6拍子というちょっと特殊?なリズムで演奏されることのある、 アイルランド音楽に多いリズムのひとつ、らしい。 でも伊達に小・中・高とおべんきょうをならってきた俺ではない。大学? 金なかった。 で、これ割れるっすよ。インテリ風にいうとこれ約分できます。4分の3ですね。ふふん。 しかしここに大いなる落とし穴があった。俺ハマった。

音楽の分数は分母が音符を、分子が一小節あたりの音符数をあらわす。 これを拍子記号という。つまり4分の3拍子といえば四分音符が一小節内に3つ入る。 つまり8分の6は八分音符が一小節内に6つ入る。計算上または見た目は同じではあるが、 リズムは全然違うのだ。これを理解するまで数日かかった。

簡単にゆうとリズムのとり方には強いと弱いと普通がある。 同じテンポで手をパンパン叩くにしろ、強弱をつけることではじめてリズムが生まれる事に 改めて気づかされたのだ。これにはしてやられた。 八分音符が三つ並んだ楽譜を連想してほしい。八分音符が並ぶと、 上のところがヒゲじゃなくて横棒になって連結するじゃないですか。これを三連結。 で、これを手を叩く時に、最初の一発を強く叩いて後の二つを弱く叩くようにする。 タタ。八分音符なので早く叩く。これが三拍子。これを二回繰り返す。 タタタタ。これが8分の6拍子となる。 これをずっと続けて叩く。腕が疲れる。ヤメヤメ。ともあれ、コレに気づいたのだ。 俺びっくりした。俺目覚メチャッタ。

結論。8分の6と4分の3では、音符の連結や強弱のつけ方が違うということ。

8分の6拍子
これが8分の6拍子で、

4分の3拍子
これが4分の3拍子。

同じ8分音符でも連結の仕方が全然違うわけ。 8分の6拍子はタタタタなのに対し、4分の3拍子は タなのですよ。 最初からこの画像を載せておけばよかった。まあいい。

さらにリズムをちょっと簡略?してみる。約分に近いかもしれない。今頭の楽譜の中には、 八分音符が三つずつ連結されていて、それが一小節の中に2セット入っていると思う。 これをいじって、三連結の最初の八分音符二つを、四分音符一つに置き換える。 タンタ。リズムはこうなるね。これが2セットだから、タンタタンタ、というリズムになる。 で、タンを強調すると、タンタンタ。音符の数が減った分 腕もあんまり疲れないし、小気味のいいリズムだと思う。

タンタタンタ。

で、このタタタタとタンタンタ を適当に混ぜたりつなげたりして叩いてみるとどうなるか。すごく複雑で楽しげなリズムに なると思うんだ。つまりこれがジグなんだと僕は思った。楽しいでしょ?  楽しいと思ったら僕と一緒に笛吹こう。ちなみに僕は横笛も持ってるし吹ける。僕すごいでしょ?

2007/01/17

mixi鑑定やってみる

いつものようにmixiを職場で開いたところ、友人たちが軒並み mixi鑑定というものをやっておったのじゃ。

常に世の時流に一歩後れて乗り遅れ、俺が「PSU楽しいー!」とかいってるとすでに そこには誰の姿もない。俺はラグの化身であり化生である。む、同じことか。

さて、そんな俺でもたまに回線の調子がいい時がある。今がまさにそれである。 プロフにURLはっつけポン。

「卯西 倉子さん」の基本属性

mixi ID 152477

卯西 倉子さんは基本的に、そのまんま東を不真面目にしたような人です。
そんな卯西 倉子さんにとって、MIXIとは沸騰したお湯のような存在です。
マイミクさん達にとって、いつも友達以上の気持ちを抱かせてしまう卯西 倉子さんは、見た目以上に警戒してしまう存在です。
日本政府的に見て、卯西 倉子さんの中で最も注目すべき点は仕事よりも家族を優先する家庭的な姿勢です。
これから卯西 倉子さんとマイミクになろうとしている方は、卯西 倉子さんの今の環境に注意して下さい。 そうすれば、きっと卯西 倉子さんとのマイミク関係は意味不明な事態になるでしょう。
以上の結果を総合的に判断すると、卯西 倉子さんは「皆に親しまれる優しい心の持ち主」であると言えます。

そのまんま東とはまた心外だ。俺はフサフサである。床屋でも「密度が濃くて切るのが大変」 と言われることがままある。自慢だ。フフリ。

2007年01月17日現在の「卯西 倉子さん」

今日の戦闘力 幸せパワー全開!
日記を書く気力 睡眠中
マイミクへの気持ち いたたまれない思い
今日のマイミクさん 今日一番輝いているマイミクさんは[七式さん]

幸せなどという謎のパゥワーが発揮されているらしい。幸せ。幸せ? なんだっけ?  幸せなどという単語を聞くとなぜかツインビーレインボーベルアドベンチャーの 「フルパワーッ!」というSEを思い出すのはなんでだぜ? なんか幸せそうだからか。 私は幸せなのだろうか。私より幸福な人間を思い浮かべる。たとえば陣内智則。紀香と結婚 である。世間一般的に私と陣内を比較すれば陣内のほうが幸福であると答える人間が多いのは 確定的に間違いなく明らかだ。しかし俺は紀香どうでもいい。紀香いらない。陣内は頑張れ。 逆に俺より不幸な人間を思い浮かべる。たとえばインポテンツの人。不幸である。 俺はインポテンツではない。相対的に幸福である。しかしどうでもいい。 インポテンツの人が不幸だからといって俺がニヒヒザマーミロとか思うかどうかについては 俺の内なる鉄扉の奥に封じ込めたままにしておこう。 ていうかインポテンツだからといって外観がインポテンツになるわけではない。 つまりインポテンツであるかどうかを確認しなければならない。 というわけでちょっとズボン脱がしていいですか。カチャカチャ。ウホッ。にょろーん。

阿呆か。俺は死んだ。

俺は生き返った。さて俺は幸せだったのだろうか。んなわけない。 あえて幸せがどこにあるのかと問われれば俺は「幸せは音にある」と答える事にしている。

ごめん嘘。なんか書いた瞬間こっぱずかしくなって少し耳が熱くなった。 でも待ってよく聞いて。人は音、というか音楽を聴いている間は幸せになれるんですよ。 ゆえに幸せがあるとすれば音から幸せが出ていて、耳から幸せ成分を吸収しているに 違いないんです。俺はそうして耳から摂取し、ケツから浪費してきたのだと思います。 ケツから生み出された幸せのカスは大地を肥やし生物を生かし口から摂取する。 しかしその頃にはもう幸せのカスのカスのカスの(中略)になっているはずなのでほとんど残っていない。 人間はそれを補完する手段として音楽を選択した。ていうかそれが俺。そして俺は音楽を聴く。 耳から摂取した幸せ成分はケツから浪費される。俺の幸せの音を聞けい。ちょっとトイレ行ってきます。

2007/01/10

青い瞳

昨日の記事に書いた「出羽桜酒造の一耕のCMに使われた曲」の本当の名前がわかった。 "Ojos Azules"(青い瞳)という名の、いわゆるフォルクローレに分類される 曲らしいです。フォルクローレとは平たくいうとラテンアメリカの民俗音楽っぽい音楽のことを指すそうですが、 ソレについてくわしく言及するつもりは毛頭ありません。いい曲だから、いいのだ。 ちなみにyoutubeあたりをこの単語で検索するとえらい面白いものが出てくる。

さて、MoEアニメが放送開始されました。知ってました? 知ってました?  ん、楽しいかと訊かれれば「自分の目が線になってゆく感覚を味わえます」と答えることに している。こう、すーッ。みにョーん、って。すーッ。みにョーん。味わうがいいです。 いや、良いとか悪いとかではないですよ? でも俺は久々にMoEログインしたです。 久々にMoEやろうかな。

NEW <- : 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 : -> OLD

Search

Option

Document

Comment

アイテム詐欺で「再」逮捕
04/14 : Lela Guzman
カテゴリ名変更&新しい楽器がふえたよ
02/14 : そうこ
06/26 : 室井
08/20 : そうこ
09/22 : そうこ
春よ、来い
05/08 : simuzy
05/08 : simuzy
05/12 : そうこ

Tackback

リタリンの処方が打ち切られた
03/27 : ノビじいの鬱々日記
foreshortenedプラグイン改造
01/23 : ISO TANK!

Log

2016年
11月
2014年
2月 1月
2013年
1月
2012年
7月 2月
2011年
6月 3月 2月
2010年
12月 11月 6月 4月 3月 1月
2009年
12月 11月 10月 9月 8月 6月 2月 1月
2008年
12月 11月 10月 9月 8月 6月 5月 4月 3月 2月 1月
2007年
12月 11月 10月 9月 8月 7月 6月 5月 4月 3月 2月 1月
2006年
12月 11月 10月 9月 8月 7月 6月 5月 4月 3月 2月 1月
2005年
12月 11月 10月 9月 8月 7月

Link