「数学ガール/乱択アルゴリズム」を予約した

早速予約

ProductName 数学ガール/乱択アルゴリズム
結城 浩
ソフトバンククリエイティブ / 1995円 ( 2011-03-02 )


楽しみですな。

栗駒山

宮城のお酒。酒造好適米「蔵の華」を使った純米吟醸

1297768431

綿屋と比べて、酸が強めだったが色々試した結果、ぬる燗がベストだという結論に至り、後半はぬる燗で。これはこれで美味い気がする。飲み飽きしないし。

燗つけるといっても最近はひと肌よりもぬるいくらいの燗なんだかわからないような温度帯が好み。室温よりも冷たい気がするなぁ。

今度きちんと計ってみよう。

Javascriptのboxedとunboxed

メモリ上に直接のっているような値はunboxedなのでプロパティの設定ができない。数値リテラルとか。

var x = 1;
x.add1 = function () {return this.valueOf() + 1;} // これはだめ
console.log(x.add1());

でもコンストラクタからnewされた場合にはプロパティの追加ができる

var x = new Number(1);
x.add1 = function () {return this.valueOf() + 1;} 
console.log(x.add1());

コンストラクタのprototypeに関数突っ込んでチェインできるようにしてみる。

var x = new Number(1);
Number.prototype.succ = function () {
  var n = new Number(this+1);
  return n;
};

console.log(x.succ().succ().succ().succ().toString());

リテラル表記でもNumberから継承されているので、コンストラクタのprototypeに関数突っ込めばメソッドとして呼び出せる

var x = 1;
x.constructor.prototype.succ = function () {
  var n = new Number(this+1);
  return n;
};

console.log(x.succ().succ().succ().succ().toString());

これはなかなか面白い

毘沙門天の達磨祭り

今年一年無事に過ごせたということで、達磨に目を入れた。

1297684638

岳鉄の吉原本町駅からJR吉原まで。その後テクテクと歩きつつ屋台のリンゴ飴とかチョコバナナを食べながら妙法寺まで。

1297684644 1297684651

娘とU隊長の要望により今年は違う色。

1297684660

ちなみに緑は健康、紫は人間関係らしい。

ま、僕にはどちらも大切なファクターになりそうだ。

こどもの国でそり遊び

今年は思ったよりも雪が降らないような気がするが、週末は雪遊びチャンスなので行ってきた。ソリ持参で入り口手前の丘で遊んできた。

なんで入園しないかというと、雪遊び広場までがやたら遠いらしくて不評なんだそうだ。単にそれだけ。

そり遊び

1297583845 1297583851

娘は雪だるま作ったりとか壊したりとか創造と破壊系の遊びが好きなのかなぁ。

1297583857 1297583869

帰りは定番のきわだ路で。山芋がつなぎなので御厨系なのかな、金太郎も山芋をつなぎに使ってますよね。

寒かったので肉うどんと月見そば。

1297583863 1297583883

揚げまんじゅうは外せない。

1297583877

三連休はこれで終り

javascriptの等値演算子(==)と同値演算子(===)

昨日の読書会で、等値演算子(==)と同値演算子(===)をきちんと理解していないことが判明したので、サイ本を読んでみた。

Javascriptは、数値、文字列、論理値が等しいかどうかを「値により」判定します 一方オブジェクトや配列、関数の場合には「参照により」判定します

オブジェクト、配列、関数の場合には参照により判断されるので

$ ./shell 
V8 version 3.0.6.1
> [1,2,3] == [1,2,3]
false
> [1,2,3] === [1,2,3]
false
> var a = b = [1,2,3]
> a == b
true
> a === b
true

同値演算子は型変換を行わないで値が等しいかどうかを評価するが、等値演算子は2つのオペランドの型が異なる場合には型変換を行う。

同値は演算子は直感に対して素直なのでいいとして、等値は型が異なる場合に次のルールーで型変換をする

  • どちらか一方が数値で他方が文字列の場合、文字列を数値に変換してから比較
  • どちらか一方がtrueの場合trueを1に、falseの場合には0に変換してから比較
  • オブジェクトと数値の比較の場合オブジェクトを基本形に変換してから比較

改めてJGPのB1(p.127)を見てみる。

> '' == '0'
false
> '' == 0 
true
> 0 == '0'   
true

最初の例は文字列の比較なのでfalse。二番目は文字列と数字の比較で型変換されて''はfalseなので数値に変換されると0になるのでtrue。最後は文字列'0'が数値0に変換されて比較されるのでtrueか。

ProductName JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス
Douglas Crockford
オライリージャパン / 1890円 ( 2008-12-22 )


ProductName JavaScript 第5版
David Flanagan
オライリー・ジャパン / 4410円 ( 2007-08-14 )


オリケシって凄く疲れる

娘の誕生日プレゼントのオリケシなんだけど、電子レンジで温めると1つの消しゴムになるらしい。

1297577197 1297577191

対象年齢が8歳らしく5歳の娘には非常に緻密な作業だ、これは。

ProductName オリケシ キュートパーラーセット

バンダイ / 2163円 ( 2009-03-20 )


第一回Javascript読書会に参加した

皆様お疲れさまでした。今回から新しく参加した人が結構いたので面白かったですね。

ちなみに資料はluminescenceで作りました。 YAML+MarkDownで記述できるため、バージョン管理システムで管理できて便利。ソースはこれ

おやつはC-DOLPHINのロールケーキ

1297551355

JGPも5章終わったら付録以外は消化する感じになるから、どっちの方向に進むのか考え始めないといけない気がするなぁ。

懇親会はKEIKO。一度前を通ったことはあるが入るのは初めて。

1297551353

ソフトドリンクの器がヤバめ(量が多い)。

1297551350 1297551348

創作パスタが美味かった。

1297551346

それからPythonに興味ある人が多かったのでいい流れかも。GAEと絡めてなんかやりたいですね。「みんなのPython」は良いんだけど今読んでるJGPと被るような気がするからなぁ、どうなんでしょう?