コンテキストについて学んだよ。今回もとぴあさんくらむさんに親切に教えてもらったよ。

Perl ではコンテキストっていうのがあって、意識していないとハマるらしい (というかハマった)。サブルーチンを呼ぶところだけを見ても、そのサブルーチンが何を返すかがわからない。

$ perlsh
main[1]$ @arr = localtime;
56
21
1
18
4
106
4
137
0
main[2]$ $scr = localtime;
Thu May 18 01:22:02 2006

最初、なんでただの配列がスカラ変換のときに、タイムオブジェクト?のように見なされて時刻文字列になるんだ?って思ったんだけど、これは localtime がコンテキストによって挙動を変えた (!) 結果らしい。localtime っていう部分だけを見ても、localtime が何を返すかはわからない。


そのコンテキストとやらには、大きくわけてリストコンテキスト・スカラコンテキスト・void コンテキストがあるようだ。

sub context {
if (defined wantarray) { # void context では undef
if (wantarray) { # list context では true
print "List Context!\n";
} else {
print "Scalar Context!\n";
}
} else {
print "void Context!\n";
}
return;
}
@arr = context;
$scr = context;
context;
__END__
List Context!
Scalar Context!
void Context!

という感じで、サブルーチン内で wantarray を呼ぶことによりコンテキストの分岐ができる。wantarray っていう名前はおかしい (配列とリストは区別がある) みたいだけど、歴史的事情がきっとあるんだろう? perldoc でも wantlist であるべきだった的なことが書いてある。

たぶんコンテキストの理解は Perl では必須だろうけど、こういうのって他の言語だとあんまり見ないよね、っていう感じだった。


他今日知ったこと

  • use vars は obsolete。変わりに our
  • 擬似ハッシュには触るな (obsolete)
  1. トップ
  2. perl
  3. 今日のぺるる コンテキスト
  1. トップ
  2. prog
  3. 今日のぺるる コンテキスト

学校だけじゃなくて、しばらくじっとしていたい。

余計なことを言う人とかから離れたい。

あー本当にいやだ。課題をやりたくない。なんでこう暗に脅された感じがするんだろう。すごい嫌だ。もうやめたい。

思うにあれは誠実じゃない。誠実なふりをして実はかなりてきとーだ。嫌だ。それを気付けるんだろうか。無理だろうなぁ。自分では誠実だと、思っているんだ。

起きていても朝がくる。早寝早起きなんてできるわけないだろう。

時間足りないときはどうすればいいんだろう。時間が足りないと連鎖的に何もできなくなる。

  1. トップ
  2. life
  3. 学校いきたくねぇ

ちゃんとサイトにきて見て欲しいとかいう目的で要約しか提供しないっていうのもたまにあるみたいだけれど、要約しか提供されていないなら、よっぽどのことがない限り要約しか読まない。

全文提供されてるとなんとなく全部眺める。

  1. トップ
  2. net
  3. 要約フィード
  1. トップ
  2. web
  3. 要約フィード

やっぱり凝縮されているわけで、共通部分を見つけていくと、どうすればいいのかっていうのが見えるのかもしれない。

Syrup16g の「汚れたいだけ」についていろいろ考えていたのだけれど、なんとなく BURGER NUDS の「指輪」が思い浮かんだ。

「ちょっと……人間ってちょっといい人になりたいとかね、自分がよく生きたいっていうのがあるじゃないですか。そんでやっぱ負けるのは嫌だし、できれば閉じこもってたいけど、でもそんで自分を壊していっちゃうようだったらもう汚れていったりとか、傷つけたりとか傷つけられたりとかしてるほうがまだいいんじゃないかっていう気持ちはあるんですよね」

っていう部分を読んでいて、それが指輪に繋がった感じ。「指輪」で描かれる表面的にも良くあろうとしている状態から、まぁ表ぐらいは汚れてしまっても (錆びてしまっても) いいだろうっていう変化が coup d'Etat においてはアルバム全体として出ているんだなっていう、そういう感じ。


関係ないけど、遺伝子レベルで組み込まれたなんちゃらって誰かもいっていたような気がする。ACIDMAN だっけかな。

  1. トップ
  2. music
  3. syrup16g にしても BURGER NUDS にしても
  1. トップ
  2. thinking
  3. syrup16g にしても BURGER NUDS にしても

もっとよく考えたいのだけれど、なんか時間があんまりないのでもうてきとーに思いつく限り書いておくことにしよう。それが本来の日記ってもんだ。頭に浮かんだらすぐに書けばいい。

少し前に OOエンジニアの輪! ~ 第 20 回 高林 哲 さんの巻 ~ を読んでいて、すごくひっかかったというか、うわーって思ったのがあってそれが以下の部分。

なんだかいわゆる「業界人」っぽい文体、内容、主義、主張なんですよね。考え方が妙に爺くさくて、似通っていることががあって、なんだか皆均一化されちゃってるなと感じることがままありますね。これはどういうことかというと、高校生が書いてる日記と、 40 歳近い人の日記も区別つかないんですよね。あまりにも似通ってて。

なんか妙にここが気になって気持ち悪くてしかたがない。本当にそう思うから。

いろいろ読んでて、特にもうフィードリーダーとかで読んでると「この人って誰だっけ」とか結構思う。さっきも似たようなのを読んだな、とか。でもって仕方ないからサイトに飛んでみるんだけど、CSS も似てたりして、もうわけがわからない。実は全部同一人物が書いているんだろうか……とか思ったりする。怖い。

だからなのかなんなのか、そういう人たちの主張って全然こっちに入ってこなくて、なんていうんだろう、説得力がないっていうか、読んではいるけど頭に入らない。数の水増しみたいな。そんな感じがする。

ちょっとまえに書いたあなたがストリクターになるべきでない10の理由の二番目に「文章の書き方がソレっぽくなるから」って書いたのは実はこれのことを言っていて (人によって捕らえかたが違うだろうから、もし別の意味でとったのであれば、それも別に間違っているわけではないです)、いやストリクターに多いってわけじゃないと思うんだけど、どっかの誰かが非ストリクトなことを言ったときとかのそういう人たち (自分も含めて) の動きっていうのがみんな同じで、すごく気持ち悪くて、なんともいえない。


じゃあ自分はどうなのか (どうありたいのか) っていうのはすごく難しいのだけど、どっちかといえば、そういう同じような感じになりたくない。でもみんな同じようになったほうが楽だなっていうのも思う。だからどっちでもない中途半端な感じに今のところしておきたいし、どっちにしてもなりたくてなれるものじゃなくて、いつの間にかなっていて、それはそれでいいのかもしれないと思う。なんなんだ。Not at all

まぁいいか

  1. トップ
  2. life
  3. 同じような人たち。追いかけるもの
  1. トップ
  2. thinking
  3. 同じような人たち。追いかけるもの