最近のキーワード

2006年06月17日

素数の逐次生成(Ruby版) v3

仕事の休憩として、こんなのを書いてみた。MathnのPrimeと同様、逐次生成することができるが、数が大きくなってくるとMathnのものよりは速い…と思う。
(追記) generator.rbが遅かったので、next/succを直接実装した。

(続きを読む…)



posted by ttate at 23:37| ☔| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

2006年06月14日

Array[1,2,3,]がSynaxErrorの続き

foo(:a=>0, :b=>1,..., )という場合はもともとSyntaxErrorなのだけど、こっちも最後に','があっても良さそうに感じる。(続きを読む…)
posted by ttate at 07:58| ☔| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

2006年06月13日

with_index

blockutilsでは、with_indexというブロックを修飾するためのメソッドがあるのですが、もともとenumeratorの実装に不満をもっていたときに思ったことを、smlではどうなるか書いてみた。(続きを読む…)
posted by ttate at 00:48| ☔| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

RubyKaigi2006 ネームプレート

持って帰らずにスタッフに預けて二日目に来た人にあげてもらえば良かったかと今にして思う。というか持ってかえってよかったのだろうか?
posted by ttate at 01:25| ☔| Comment(1) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

2006年06月11日

Array[1,2,3,]がSyntaxError

ふとupdateしてみたら、Array[0,1,2,]と最後に","が来るものがSyntaxError。 (続きを読む…)
posted by ttate at 07:44| ☔| Comment(0) | TrackBack(1) | Ruby | このブログの読者になる | 更新情報をチェックする

RubyKaigi2006初日

なんだかそれなりに立派なカンファレンスでビックリした。 ひとまず、機器が充実しているのにビックリ。 (続きを読む…)
posted by ttate at 00:27| ☔| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

2006年06月09日

Ripper使ってメタデータ処理&Ruby内DSL定義言語

Ripper使ってメタデータの処理をしてその結果を反映したプログラムを書けるようにしてみる。(続きを読む…)
posted by ttate at 23:16| ☔| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

Ruby2.0への要望

「Ruby 2.0 への要望、意見」というページがあるのだけど、ほとんど何も書かれていない。(続きを読む…)
posted by ttate at 23:05| ☔| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

zipWith

「zipWithの自作」や、 「今日の自作関数」より。3通りで書いてみる。

まずは、collect,zipを使うとこうなる。

def zipWith(x, y, &b)
  x.zip(y).collect(&b)
end
さらに、 (続きを読む…)
posted by ttate at 06:00| 🌁| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

2006年06月07日

fep.rb (readlineラッパー)

rlwrapのエントリを見て、 fep.rbを思い出した。(続きを読む…)
posted by ttate at 18:20| 🌁| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

フィルタとカリー化とブロックの合成

「フィルタ(2)」に、私が blockutils で行っているのと似たものがあった。 もともと、ブロック(メソッドやProcオブジェクトの本体)などの手続きを間接的に 操作できているように見せかければ良いという発想である。 (続きを読む…)
posted by ttate at 06:37| 🌁| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

2006年06月06日

set_trace_func

set_trace_funcは、なぜブロックをとる形式にならないのだろうか? なぜ、unset_trace_funcはないのだろうか? (続きを読む…)
posted by ttate at 00:56| 🌁| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

2006年06月04日

ブロックパラメータと多値

やっぱり、現状すらもうまく理解できない。結局、混乱する人は "->()" を使えばいいのだろうけど…
[0,1,2].zip([0,1,2]).collect{|x,y| [x,y]}
=> [[0,0], [1,1]]
となって欲しいのも理解できるし、自分もzipで組を作ると見なしてそう書くことが多い気がする。でも、エラーか、x=[0,0],[1,1],[2,2], y=nil が好ましい気がする。 (追記) Procの場合yieldの存在を忘れていた。パラメータに何が渡るかを考える場合、call/yieldを意識しないといけない(call/yieldに依存する)。 Proc.new{ ... }.call(...) と each{ } でブロックとcallを一まとめにして同時に考えていたから変に思ってしまっていたんだな…
posted by ttate at 04:28| 🌁| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

2006年06月02日

blockutils@rubyforge.org

で、ブロックを間接的に操作するようなライブラリを多少整理して、rubyforge.org に置いてみた。 (続きを読む…)
posted by ttate at 01:02| 🌁| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

2006年06月01日

パスカルの三角形(inject+zip)

「パスカルの三角形、もう少し」や、 「続・パスカルの三角形」 を見ていて、zip使えばいいんじゃないかと思い書いてみた。
(0..9).inject([1]){|acc, n|
  p acc;
  acc.dup.unshift(0).zip(acc.dup.push(0)).collect{|x,y| x+y}
}
(追記)と思ったらすでに「続・パスカルの三角形」のあとのほうに書かれていた。最後までちゃんと見るべきだったか。
posted by ttate at 18:44| 🌁| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

RubyKaigi2006のWiki

http://jp.rubyist.net/RubyKaigi2006/open/
日付を確認しようと見てみたら、いつのまにかwikiページが発表されていた。そのうちメーリングリストに流れるのだろう。(続きを読む…)
posted by ttate at 00:30| 🌁| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする

2006年05月31日

ブロックの合成(その3:再帰編)

with_indexの次は、配列の配列の…の配列を再帰的に辿ってインデックスをふっていくものを、再帰を行うProcを使って実装してみた。 (続きを読む…)
posted by ttate at 01:29| 🌁| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。