perlの0e0は真だけど0

HOP3章終了。

"0e0"の使いどころがなかなか。

論理演算

$ "0e0" || 1
0e0
$ 0 || 1 
1

真と判定、で演算してみる。

$ "0e0" * 5
0
$ "0e0" + 5
5
$ "0e0" - 5
-5

数値だ

$ "0e0" == 0
1
$ "0e0" eq 0

論理演算で真を返すのに0

で、これがどう便利かというと

$cached{$key} ||= make_cache($key)

キャッシュに0が入ってる場合偽と判定されてしまい、キャッシュがあるのに再計算してしまうのだけど"0e0"を入れておくときちんとキャッシュが効くと。

ProductName Higher-order Perl: A Guide To Program Transformation
Mark Jason Dominus
Morgan Kaufmann Pub / ¥ 7,678 (2005-05-30)
通常24時間以内に発送

HOPではOrcish maneuverに絡めてあって、3章はこの部分が一番面白かった。4章はイテレータ、この章に100p近く割いてある。

はなめん棒

はなめん棒

富士五湖道路の須走ICのすぐ近くに、うどん屋さんがあるというので、行ってみることにした。

IMG_1289

わかりやすい立地。

ざるうどんはなめらかなのにこしがある。ニュルッとした喉越しがうまい。

ざる IMG_1293

たぬきにぎりは味付け天かす入りおにぎり。これも美味。

たぬきにぎり

満足

rosemaryの花

もう5年ぐらい育てて割と愛着がわいている僕のローズマリーの花が咲いていた。

rosemary

挿し木で増やしたいんだけど、枝が幹みたいになっちゃってて、切って水に漬けても根が出てくるのか不安だがやってみることにした。

Gaucheのlet1

let1って何だろうって思ったので。

Gauche ユーザリファレンス: 4.6 変数束縛

let1 var expr body …

変数が一つしか無い場合の便利なマクロです。次のように展開されます。

(let ((var expr)) body …)

Scheme入門読んだ

1章から12章まで割と一気目で。

以下覚書

シンボルの大文字と小文字

Gauche ユーザリファレンス: 2.4 大文字小文字の区別

Lisp系の言語は歴史的にシンボルの大文字小文字を区別していませんでした。 Schemeもその流れを汲んでおり、R5RSでもシンボルは読み込まれる時に大文字小文字の区別をしないと定義されています。(但し、R5RSの範囲内でも処理系内部では大文字小文字を区別することになってます。ここで問題としているのは読み込み時の動作です。)

しかし現在では、プログラミングが一つの言語で完結することは滅多にありません。他の言語とインタフェースを取る場合、Scheme側でも大文字小文字を区別するようにしておいた方が便利です。

gosh -fcase-fold

で大文字小文字を区別しないモード

cdrの読み

クダー

カー、シーディーアールって読んでた。

let系の違い

Scheme入門 第12章 局所変数レット

局所変数(ローカル変数)を定義する let, let*, letrec という構文もあります

letrecをいまいち理解しないでSICP読んでた。

日本語

コンパイル済Windows用バイナリだと日本語が化けたがどうすればいいのかちょっと見つからなかった。

gosh> (gauche-character-encoding)
utf-8

内部文字エンコーディングはUTF-8

クックブック

Gaucheクックブックを一日ひとつ見ていけば3ヶ月以上楽しめてナイス。

splitのLIMITパラメータ

splitにはlimitパラメータがあることをHOP読んでて知った。

$ $t = "a b c d e"
$ split /\ +/, $t 
a
b
c
d
e
$ split /\ +/, $t , 2
a
b c d e

splitっていろいろできんじゃん。

Catalyst::Model::LastFMがあると便利な気がする

自分のLastFMの週間チャートをとってきて、色々いじるのにCatalystのModelになっていれば便利かと。

Catalyst::Model::XML::Feedを使えばいいと考えていたけど、LastFMはFeedじゃないXML吐いてくるので自分でXML::Simpleとか使って書かなきゃならんですな。

あとWebService::LastFM::SimilarArtistsも併用すればモデルにアーチストの類似性検索使えるようになるのでさらによさげな予感。

やることリストにいれておく

これは何対策だろうか?

ダレにあてたメッセージなのかさっぱしわからん。

rss error

レスポンスコードじゃだめなのかなぁ。ただし、配信してない旨をRSSで配信するという微妙に矛盾した行為自体は言葉遊びとしてちょっと好き。

久々の薬漬け

揚げ物とか家ではほとんど食べないのにコレステロールが高いのがわからん。

結局ノルバスクとリポバスを飲むことになった、、、病人だ。

リポバスはあんま嬉しくないので運動しよう。

秋上がりが出始める今の時期に呑めないのはつらい、、、、

Bistro gawa でランチのコース

先週末もBistro gawaに行ってきた。ランチコース目当てで。いつものように写真撮りながら、美味しく頂いていたら、突然シェフの方から声をかけられて、パシャパシャしてるのがまずかったかなと思ったら、実は前回のパスタで揉めたヨ見られたそうでわざわざ説明してくださいました。そういうことだったのですねというわけで、追記しておきました。道理でボリュームがあって、旨かったわけですね。

あと載せる写真をひと言断っておけばよかったんですが、あまりにも突然だったのでタイミングを逃した。もし、まずかったら連絡ください。一番下にメールアドレスを載せておくことにしました。

前菜はエゾシカ?のサラダ。野菜美味い。エゾシカって臭みがないのね。馬ともまた違ったあじわい。スープは舞茸の冷製。これまた美味しかった。コースはこの流れなのがいいね。意外に前菜->スープで満足してしまう。で、メイン。

銀鮭のポシェ ナージュ仕立て

銀鮭のポシェ ナージュ仕立て

ナージュ仕立てってなんだろか?と思ったんだが帰ってきて調べてみるとナージュが泳ぐという意味で、まるで泳いでるようにスープたっぷりということなのね。前に頂いたときにも思ったけど野菜がおいしいですな。

デザートは美味しそうと頼んだ僕の葡萄のテリーヌだけど、結局二粒程度しか食べられなかった。残りは全部ユッキー様(娘)に捧げた。その時のやつは異常な食欲を見せた。

葡萄のテリーヌ

あまりにも悲しいのでU隊長の頼んだ、チョコのミルフィーユを少し分けてもらった。

ミルフィーユ

オレンジのソースと絡むチョコのまろやかな甘みとしっとりとした生地がやばすぎですな。