program

sxml の pull 型パーサ

なんかよくわからんなー。サンプル少ないな。 xml->sxml でもいいんだけどなんだかな。pull型パーサじゃなくてもなんとかなるのかね。。

Redmineのリポジトリ注釈機能のリビジョン色分け機能

前から気になっていた機能について調べてみた。↓こんな感じの機能。http://www.redmine.org/projects/redmine/repository/annotate/trunk/app/controllers/account_controller.rbリビジョンごとに色分けしてくれる。svn blame に色をつけた感じ。 隣接してる…

Mapの初期化

JRubyのソースコードを読んでたらみつけた無名クラスを使った初期化方法。 Map<String, Integer> map = new HashMap<String, Integer>(); map.put("one", 1); が次のように書かれてた。 Map<String, Integer> map = new HashMap<String, Integer>() {{ put("one", 1); }}; 名前をつけずに初期化できるんで、スクリプト言語みたいに</string,></string,></string,></string,>…

エクセルファイルにアクセス

仕事でExcelファイルを使うのだが、いつも集計作業が手作業になりがち。 複雑な処理をしたいけど、マクロをいまから覚えたくもない。 Rubyでなら Enumerableのメソッドをチェーンして書きまくれるのに…といつも思って、 コピペしてテキストファイルにして sp…

DNAから音楽を作る

はてなダイアリーに「メロディ再生機能」がついたそうな。MML (Music Macro Language)というらしい。 http://d.hatena.ne.jp/hatenadiary/20071011/1192086766DNAから音楽を作る人がいるらしい。 http://ja.wikipedia.org/wiki/%E9%81%BA%E4%BC%9D%E5%AD%90%…

ブロック引数

こんなのできるのか。 a = [1,2,3] (1..3).each do |a[0]| p a end p a [1, 2, 3] [2, 2, 3] [3, 2, 3] [3, 2, 3] class Foo attr_accessor :foo end foo = Foo.new [1,2,3].each do |foo.foo| p foo end p foo #<Foo:0x8076504 @foo=1> #<Foo:0x8076504 @foo=2> #<Foo:0x8076504 @foo=3> #<Foo:0x8076504 @foo=3></foo:0x8076504></foo:0x8076504></foo:0x8076504></foo:0x8076504>

Ruby Can Do What!?!: Part 1

http://www.bloglines.com/blog/ThomasEEnebo?id=31 こんなとこでメソッド定義できるんだ。 引数を評価するとメソッドが再定義されちゃうね。

Ruby会議2007のJRuby速報を見て

行けなかったけど想像してみる。 http://jp.rubyist.net/RubyKaigi2007/Log0609-S1-04.html JRuby 1.0 リリース やっぱりこの日に合わせたのか。 JavaOneじゃなくてRuby会議に合わせたのかね。以降、1.0で試した。

Ruby会議2007

http://jp.rubyist.net/RubyKaigi2007/ あー、遅かった。。。JRubyの作者来るのか。。 この日にJRuby1.0 Releaseぽい。

Gauche Night

5/9(水) 新宿 Naked Loft にて開催された Gauche Nightに参加しました。 適当にメモってたのをそのまま貼ります。 18:40 ごろについた。 1時間くらい御飯とお酒。味濃かった。。 19:30開始 GaucheFestの成果物を発表ということだったらしい。 司会とパネラー…

FizzBuzz

> zipWith (\a b -> if b == "" then show a else b) [1..100] $ zipWith (++) (c ycle ["", "", "Fizz"]) (cycle ["", "", "", "", "Buzz"]) ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz", "13","14","FizzBuzz","16","17","Fizz"…

Enumerable#inject

Haskellのfoldl1みたいなのが無いのかと思っていたら、第1引数を省略すればいいだけだったのか。 Enumerableにfoldl1を追加してしまった。。 > (1..10).inject(0) {|r, s| r + s} => 55 > (1..10).inject {|r, s| r + s} => 55 > %w(a b c d).inject("") {|r…

Gauche Night

チケットを入手。他のイベントやってて気まずかったな。 あそこに50人も入るんだろうか。ちょっと狭そう。

banner コマンド

http://d.hatena.ne.jp/samurai20000/20070325/1174816070 知らなんだ。面白いコマンドがあるもんやね。

バカソート

import List divid :: [a] -> [([a], [a])] divid xs = zip (inits xs) (tails xs) perm :: [a] -> [[a]] perm [] = [] perm [x] = [[x]] perm xs = concat $ map (\(h, t:ts) -> map (\ys -> t : ys) $ perm ( h ++ ts)) $ init $ divid xs isSorted :: Ord…

レジで小銭をスムーズに支払う方法

http://www.itmedia.co.jp/bizid/articles/0611/22/news045.html 財布から硬貨を出すより片付ける方がコストかからないから、22円持ってるより77円持ってたほうが対応しやすいのね。 ならコスト計算おかしいやん。99円がベスト?そういえば小銭77円も持って…

日経新聞 2006/11/03 1面

「ルビーの奇跡」という見出しでRubyConf2006 のことがちょっと載ってた。 「ルビー」って書かれると別物みたいだな意味わからんな。Matzの漢字表記程じゃないが。 記事によると来年の東大の講義でRuby使うらしい。

ruby/amazon

いつからか、ruby/amazon で release_date が取れとらんがな。 ruby/amazon は悪くなさそうに見える。

LL Ring

新木場で行われた LL Ring (Lightwight Language Ring) に行ってきました.3時に起きたのに 2 度寝しちゃって20分くらい遅刻しました. Scheme と Haskell の LanguageUpdate を見逃したぽい…. Language Update awk '{print $3}' とかいうのしか書いたこと…

Collatz 予想の無限リスト使うやつ

http://ll.jus.or.jp/2006/blog/doukaku2無限リストは,それより若い位置の要素を使って求めるもんだと思ってたけど そうでもないのか.それ以前に求まっている要素ならどこでもいいのかな. zipWith' fromMaybe ... http://www.kmonos.net/wlog/63.html#_17…

ふつうの haskell プログラミング (ふつける)

ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門 読了. 問題の答えは最後にあるのね.前ほどモナドが気にならなくなったので読んだ価値はあった. あとは,wiki のソースを読んでみなきゃな.問題やってみた↓ 02-1.countbyte.hs m…

ジェームス・クラーク式記法あれこれ

James Clark 's Notation XML を記述する際にインデントを付加して読みやすく書いたつもりが思わぬ動作をすることがある.例えば以下の2つの文書は XML 的には同値ではない. <foo><bar id='b1'><baz/><baz/></bar><bar id='b2'><baz>text</baz></bar></foo><foo> <bar id='b1'> <baz/> <baz/> </bar> <bar id='b2'> <baz>text</baz> </bar> </foo>2つ目の文書は /foo と /foo/bar[1] の間に テキスト(改行1つと…