2009-01-01から1年間の記事一覧

つくばエクスプレス徒歩 (後編)

先週の続きで、柏たなか駅からつくば駅まで。7 時から 16 時まで。線路の距離で 26.3 km 、歩きの距離で 37.2 km 。先週の終了地点である柏たなか駅から。線路は利根川を渡って滑らかに守谷駅に向かうけれど、人間は渡れないので、3 km ほど下流の橋まで迂回…

勉強帳 (4)

資料: http://www.scala-lang.org/docu/files/ScalaByExample.pdf 9. Lists リストの作り方。 val fruit = List("apples", "oranges", "pears") val nums = List(1, 2, 3, 4) val diag3 = List(List(1, 0, 0), List(0, 1, 0), List(0, 0, 1)) val empty = Li…

勉強帳 (3)

資料: http://www.scala-lang.org/docu/files/ScalaByExample.pdf 5. First-Class Functions 関数がファーストクラスな話。 5.1 Anonymous Functions すでに出てきたと思うけど (x: Int) => x * x が匿名関数。Int 型の引数を 1 つ受け取って、二乗を返す。…

Re: Re: 勉強帳 (1)

ref: http://d.hatena.ne.jp/kmizushima/20090513/1242218451 みずしまさんにいろいろ教えてもらってしまいました。ありがとうございます。なんでも晒してみるもんですね。 static メソッドと普通のメソッドが混ざってるクラスは表現できるのかしら。 static…

勉強帳 (2)

Scala By Example を読みます。資料: http://www.scala-lang.org/docu/files/ScalaByExample.pdf 1. Introduction いんとろだくしょん 2. A First Example imperative に書いたクイックソートの例。 def sort(xs: Array[Int]) { def swap(i: Int, j: Int) { …

勉強帳 (1)

Scala を勉強してみます。売り文句だけ見てみると 1. 手続き型でも関数型でも書ける 2. 純粋なオブジェクト指向 3. 柔軟な文法で DSL しやすい 4. パターンマッチ 5. 静的型付け (ジェネリクスあり) 6. JVM で動く (Java の資産を活用できる) 1 〜 3 は Ruby…

連想配列からハッシュを作る

[[1, 2], [3, 4], [5, 6]] という配列から {1=>2, 3=>4, 5=>6} を作る簡単な方法がないというのは、わりとよく出る話題でしたが、1.9 では実は Hash#[] として実装されていました (ruby-core:23225) 。 Hash[[[1, 2], [3, 4], [5, 6]]] #=> {1=>2, 3=>4, 5=>…

つくばエクスプレス徒歩 (前編)

つくばエクスプレス (TX) を半分歩きました。秋葉原駅から柏たなか駅まで。7 時前から 18 時まで。線路の距離で 32.0 km 、歩きの距離で 43.3 km 。みんな大好き秋葉原駅からスタート。TX は改札の写真を撮るルールにしたので、一応改札まで地下にもぐる。 …

上越線徒歩 (後編)

1 日休んで (といっても土合駅見学したり横川駅でアプトの道を歩いたりしていたのだけれど) 、5/3 (日) に上越線の続きを高崎駅まで歩き終えました。8 時半から 17 時半まで。線路の距離で 30.5 km 、歩きの距離で 35.8 km 。津久田駅からスタート。山の田舎…

上越線徒歩 (前編)

続いて 5/1 (金) に、上越線の Suica 区間北端である水上駅から、津久田駅まで歩きました。9 時から 18 時前まで。線路の距離で 28.5 km 、歩きの距離で 32.9 km 。水上駅は水上温泉でわりと有名。あの太い利根川でも、ここまで上流になると多少は細いようで…

信越本線徒歩

GW だったので、泊りがけで歩き。4/30 (木) には信越本線を歩きました。横川駅から高崎駅まで。8 時半から 17 時半まで。線路の距離で 29.7 km 、歩きの距離で 32.8 km 。3 月に Suica 範囲になったばかりの信越本線。始発に乗ったとは言え、横川駅に 8 時過…

GMP で Bignum を高速化するパッチ

Ruby の Bignum は自力で多倍長整数演算を行っていますが、あまり速くないです。そこで、GMP を使うようにするパッチを書いてみました。GMP (The GNU MP Bignum Library) は gcc なんかも使ってるらしい多倍長整数ライブラリ *1 で、そこそこチューニングさ…

Re: "どちらでもいい"

C

ref: http://www.kmonos.net/wlog/96.html#_2319090427 C 言語ならすでに書けますよね。100 年後の C コンパイラならきっと最適化してくれる。 void toss(int x, int y) { } int head(int *p) { *p = 1; return 0; } int tail(int *p) { *p = 0; return 0; }…

東北本線尾久支線徒歩

赤羽駅に移動して、そこから尾久駅・日暮里駅経由で上野駅まで歩きました。15 時から 18 時まで。線路の距離で 9.8 km 、歩きの距離で 10.7 km 。この路線はいわゆる宇都宮線・高崎線の一部ですが、正式な名前は東北本線尾久支線でいいのかな?よくわかりま…

日暮里・舎人ライナー徒歩

土曜日は雨だったので、日曜日に舎人ライナーを歩きました。11 時から 14 時前まで。線路の距離で 9.7 km 、歩きの距離で 10.3 km 。舎人ライナー開業だいたい一周年だったみたいです。 日暮里駅から一本道をひたすらまっすぐ北上するだけ。隅田川と荒川を渡…

Ruby の例外クラスは分類が粗すぎる or 細かすぎる

と思いません? def foo(x) end foo(1, 2) #=> wrong number of arguments (2 for 1) (ArgumentError) 1.step(10, 0) { } #=> step can't be 0 (ArgumentError) a = []; a << a a.flatten #=> tried to flatten recursive array (ArgumentError) 確かにどれ…

川越線徒歩

毎週土曜日は歩く日。先週は川越線を歩きました。高麗川駅から川越駅を通って大宮駅まで。7 時半から 17 時前まで。歩きの距離で 37.2 km 、線路の距離で 30.6 km 。高麗川駅は八高線と川越線の分岐点で、要所そうなわりにはしょぼかった。事実上一体化して…

回文や XML にマッチする鬼車の正規表現

ref: 鬼車 正規表現 Version 5.9.1 ref: Ruby Freaks Lounge: 第6回 Ruby M17N 事始め:正規表現編 \g と \k について今までちゃんとわかってなかったけれど、少しわかったような気になったのでメモ。Ruby というより鬼車の話なので、PHP でも使えるかもしれ…

BASIC 風 DSL (嘘)

Rubyでは行番号がどうやっても無理で Scala DSLによるBASIC実装 - Greenbear Diary (2009-04-07) 全くその通りで悔しいので、せめていんちきを。 # coding: UTF-8 require "basic" basic do 10 PRINT "Hello world!" 20 END end 以下ソース。 class << Objec…

都電荒川線徒歩

土曜日に、都電荒川線を歩きました。早稲田駅から三ノ輪橋駅まで。8 時過ぎから 13 時半過ぎまで。線路の距離で 12.2 km 、歩きの距離で 16.7 km 。 都電荒川線はもともと見どころ多数ですが、この日はちょうどいろいろなイベントが重なりました。 桜がほぼ…

アンダースコアだけで Ruby プログラムを書くライブラリ _

を作りました。github にアップロード済み。ref: http://github.com/mame/_/tree/master インストール 自己責任で。 $ gem install mame-_ --source=http://gems.github.com/ サンプル Hello, world! プログラム *1 。 require "_" ____ _ _____ ____ __ ___…

東武野田線徒歩 (後編)

二日連続ですが、土曜日に野田線の残りを歩きました。野田市駅から船橋駅まで。8 時半前から 19 時前まで。線路の距離で 34.1 km 、歩きの距離で 42.1 km 。前回の終了地点である野田市駅から。やっぱり醤油の香りはしませんでした。でも工場が休みだからか…

Ruby 1.9 の新機能もうひとめぐり (後編)

ref: http://gihyo.jp/dev/serial/01/ruby/0005 (Ruby Freak Lounge 第 5 回: Ruby 1.9 の新機能ひとめぐり (後編))の補足など。 鬼車による正規表現の強化: 名前を使った参照 /(?...)/ =~ string によって勝手にローカル変数を定義されるのがいや!という人…

スタックオーバーフローの仕様の続きの続き

C

ref: http://d.hatena.ne.jp/ku-ma-me/20081017/p1 ref: http://d.hatena.ne.jp/ku-ma-me/20081019/p2なんか知らないうちに 2ch で議論されてたので引用。 600 :デフォルトの名無しさん:2008/12/26(金) 19:39:16 http://d.hatena.ne.jp/ku-ma-me/20081017/…

常磐線徒歩 (その 1)

金曜日に常磐線を歩き始めました。取手駅から北千住駅までは常磐緩行線徒歩として歩き済みなので、第一回は取手駅から北上して土浦駅まで。8 時過ぎから 16 時前まで。線路の距離で 26.4 km 、歩きの距離で 30.3 km 。常磐線自体は日暮里駅から、はるばる宮…

Class#def_initailize

class Foo def initialize(foo, bar, baz) @foo = foo @bar = bar @baz = baz end end は各変数を 3 回も書いてぜんぜん DRY じゃなくて嫌。 class Foo def initialize(*a) @foo, @bar, @baz = *a end end は引数のチェックをしなくなるし、なんか嫌。 Foo =…

東武亀戸線、京成押上線、京成金町線徒歩

次の土曜日も歩くつもりでしたが、あっさり寝坊したので、東京の下町の短い細かい路線を回収することにしました。 まずは東武亀戸線。12 時半から 13 時半まで。線路の距離で 3.4 km 、歩きの距離で 4.4 km 。亀戸駅から、亀戸水神駅、東あずま駅、小村井駅…

都営三田線徒歩

金曜日は都営三田線を歩きました。目黒駅から西高島平駅まで。7 時から 17 時まで (ただし 9 時半から 11 時まで雨宿り) 。線路の距離で 26.5 km 、歩きの距離で 30.6 km 。午前中に雨が降るという予報だったので、地下鉄にしました。都会だし、駅間が短いの…

対象範囲が広がってしまった

ref: http://dame.dyndns.org/misc/walking/ 3/14 に東京近郊区間が広がったのにあわせて、対象範囲を拡大した。 房総半島を一周できるようになった。 銚子まで行けることになった。 水上や横川 (群馬の奥) まで行けることになった。 いわき (福島!) まで行…

Ruby 1.9 の新機能もうひとめぐり (中編)

ref: http://gihyo.jp/dev/serial/01/ruby/0003 (Ruby 1.9 の新機能ひとめぐり (中編): 洗練された文法と意味論)の補足や思うことなど。 ブロックパラメータのスコープがブロックローカルに 要するに「ラムダ式の仮引数みたいになったよ」ということなんです…