Ruby
ref:http://d.hatena.ne.jp/kwatch/20090716/1247717055 知ってて書いているかどうかよくわかりませんが、Python には実際、string.join がありますね。 import string print string.join(['1', '20'], ' ') # 1 20 ところで、separator が optional っての…
ref:http://d.hatena.ne.jp/asipruby/20090515 そもそも、true か false かを調べたい要望ってあるのか? あと、kind_of? よか、equal? でよくね、と思った。性能的にも(以下略)
こりゃ意外。この配列の new が終わるのに2.5秒ぐらいかかるので、参照にかかるコストはそう変わらないことになる。つまり、単方向連結リストではなく、本当に配列だったと……。ということは、なんか操作する時は、いちいち malloc して copy するのか? んな…
ref:http://d.hatena.ne.jp/PyTest/20080408/1207655137 なんかこう、ひとこと書きたくなるという点で PyTest さんは良いな。 まぁ、Ruby ならもっと簡単。shiro さんのコメントの通りというか PyTest さんも思っているようだが、言語云々よりライブラリの話…
ひとことでいってしまうと、Rubyのは内部イテレータでPythonのは外部イテレータ。
ref:2008-01-11 - プログラミング日記 trunk ではちゃんと動きます。 % ruby1.9 -v ruby 1.9.0 (2008-01-11 revision 0) [i686-linux] % irb1.9 irb(main):001:0> (1..4).each.with_index.to_a => [[1, 0], [2, 1], [3, 2], [4, 3]] irb(main):002:0> e = (1…
なんか、本当に 12/25 に出すらしいけど、まぁ ruby-dev の流れを見る限り、stable release といえるようなもんではなさそうだよな。milestone? なにがすごいって、リリース用ブランチを切るでもなく普通に trunk で作業だし*1、今日時点でもテストが1つ fai…
なんとなくコードの compile と disassemble についてメモ。 Python では compile と dis module を使えば良い。 >>> code = compile("print 1+2", "<string>", "exec") >>> eval(code) 3 >>> import dis >>> dis.dis(code) 1 0 LOAD_CONST 3 (3) 3 PRINT_ITEM 4 PRI</string>…
ref: Re: Ruby1.9で遅くなる項目 - usagidropの日記 ささださんがいうように、素直にベンチマークのコードを見てみればいいと思うのだけど。まぁ、ベンチマークコードの所在が分からないというオチもありそうだけどな。 ベンチマークのコードは Ruby のレポ…
def x :method end def f if false x = :var end x end p f # => nil f が nil を返すのは何ともかんとも。Python User としてはちょっと気持ち悪いかも知れない。まぁ、ruby はメソッドかローカル変数かをレキシカルな情報を使って判定しているんだろうけど…
ref:Life is beautiful: オブジェクトを次々に渡す「Ruby Filter」ってどうだろう どうせやるなら、Ruby の中でもパイプラインを構築できるようにすればいいのに。 require 'pp' require 'uri' require 'open-uri' require 'rubygems' require 'scrapi' clas…
ref:Life is beautiful: 教えながら学ぶRuby: 言語を拡張したくなる衝動に関して nil に対する each で「何もしない」のが論理的に正しいっつうのは正直よくわからん。Duck typing としても筋が悪いような気がする。 てか、こんなの適当にヘルパメソッド追加…
ref:L'eclat des jours(2007-09-01) もうずいぶん昔読んだ本に、クラス内部でもアクセッサを使えということは書かれていた気がする。なんだっけ、GoF 本か、(More) Effective C++ か、Effective Java かたぶんその辺。 そういや、setter を使うときは self …
ref:http://subtech.g.hatena.ne.jp/secondlife/20070821/1187667574 ref:http://subtech.g.hatena.ne.jp/secondlife/20070820/1187578797 ref:http://d.hatena.ne.jp/knagano/20070820/1187621230 ref:http://d.hatena.ne.jp/knagano/20070821/1187656060 …
ref:++がない無いということ - L'eclat des jours(2007-07-21) まぁ、必要ないですよね。 ところで、本質的な話ではないからかだれもツッコミいれてないですけど、C/C++ においては a += 1 と a++ は式の評価値が違いますよね。 あと今日気づいたんだけど C+…
Haskell は分からない、という、はてブ指数を言い出した人がブックマークでコメントしていたので、同等の処理を Ruby と Python で。 余計なことにユニットテスト付き。 module Enumerable def take_while ret = [] each do |val| break unless yield val re…
なんか、最近 ruby-dev にひたすらバグレポートを投げ続ける遠藤さんと田中さんがすごい。なんなんだろ。テストチーム?
ref:まめめも - ランキングの集計 とりあえず、N 位に同数のものがあるケースを無視するとだ、Hash#to_a と sort_by でチェーンするのが自然なんでは。 ary = %w(foo bar foo baz foo bar qux foo bnar qux quux) n = 3 counts = Hash.new { 0 } ary.each do…
Debian では自前でビルドした Ruby 1.8.6-p36 をインストールして使っているんだけども、fib だと Debian パッケージの Ruby 1.8.5 とえらく速度が違うことに気づいた。 % /usr/bin/ruby -v ruby 1.8.5 (2006-08-25) [x86_64-linux] % /usr/local/bin/ruby -…
Someone said, try running it a few more times in the script, so Java’s JIT can optimize it.Yes, that is well known fact. I tried another test according to this proposal. def fib(n) if n == 0 then 0 elsif n == 1 then 1 else fib(n-1) + fib(n…
id:odz さんの対策だと $index がマルチスレッドで変なことになるような気がする。自分流の修正版。 うはは。おっしゃるとおり。自分でマルチスレッドがどうとか書いている癖にすっかり忘れているよ。あほだ。 で、id:ku-ma-me さんの新しいのはネストの内側…
自分のことは棚に上げておいて人のコードにツッコミ。 ref:まめめも - each_with_prevsucc via:はじめてのにき(/-')(2007-06-14) おぉ、そうか ThreadLocal がなければ Thread.current をキーにすればいいだけなのか。うまい。常識? それはさておき、 [1].e…
2007年06月13日 s99937 s99937 ruby わりかしeach_with_index派。かっこよくはないけど。ちなみに e_w_iはArrayではなくEnumerableにあります。 あ、いや、そりゃ誤解。Array ならランダムアクセス可能だから each_with_index でインデックスがあれば、前後…
ref:JRuby 1.0ベンチマーク(fib(30).rb) - 航海日誌 (2007-06-12) ref:フィボナッチ数ベンチマーク - val it : α → α = fun ref:しつこく JRuby - val it : α → α = fun Debian etch, Athlon 64 X2 4400+ で試してみた。 % ruby -v ruby 1.8.6 (2007-06-07 p…
ref:はじめてのにき(/-')(2007-06-13) ref:eachで回してるときの次の要素がほしい - Greenbear Diary (2007-06-12) おぉ?こういうのは Enumerable モジュールに適当にメソッド追加とかでどうにでもなりそうな気がする。 module Enumerable def each_with_ne…
ref:ASIPの徒然なるままに: 何故、今、Rubyに注目するのか? あとで書く、と思う。たぶん。
だからしつこいって。 class Integer def is_multiple_of?(*ns) ns.all? {|n| self % n == 0} end end (1..100).each do |i| if i.is_multiple_of? 3, 5 puts 'FizzBuzz' elsif i.is_multiple_of? 3 puts 'Fizz' elsif i.is_multiple_of? 5 puts 'Buzz' else…
ref:naoyaグループ - naoyaの日記 - 指定したパスをルートにして公開する httpd とりあえず実体参照変換はいれたほうがいいんじゃないかとか。 --- httpd.pl.orig 2007-05-14 00:46:06.000000000 +0900 +++ httpd.pl 2007-05-14 00:53:34.000000000 +0900 @@…
RSpec on Rails とか試してみたりしているんだけど、なんであれは assertion のメソッドが should なんだろう。 must じゃね?とか思うのは自分だけなんだろうか。
ruby-dev でまつもとさんが で、Ruby 1.9ではISO8601形式(ただし区切りのTは使わない)にしようと思っています。 なんていっているんだけど、仕様に準拠していないのに ISO 8601 形式とか呼ぶのは勘弁して欲しいなぁ。