[#38121] regex performace tuning and ABI compatibility — Yukihiro Matsumoto <matz@...>
まつもと ゆきひろです
Yuguiです。
なかだです。
なかだです。
[#38131] Bug when daemonizing — rubikitch@...
るびきちです。
[#38145] MSの方との相談に先立って — masayoshi takahashi <maki@...>
高橋征義です。どこに投げるのがベストか判断つかなかったので、
[#38153] [feature:trunk] warning when Kernel#p is used — Yusuke ENDOH <mame@...>
遠藤です。
[#38191] big time — Tanaka Akira <akr@...>
思い立って、time_t を越える範囲を Time で扱うことに挑戦して
まつもと ゆきひろです
> 思い立って、time_t を越える範囲を Time で扱うことに挑戦して
In article <20090328.134401.209982445.tadf@dotrb.org>,
卜部です。
In article <49CF6641.7010204@ruby-lang.org>,
Tanaka Akira さんは書きました:
In article <49D07B1B.7000602@ruby-lang.org>,
卜部です。
In article <49D0E3D1.5020206@ruby-lang.org>,
Tanaka Akira さんは書きました:
In article <49D33295.3000600@ruby-lang.org>,
卜部です。
In article <49D39822.6070505@ruby-lang.org>,
[#38218] rinda/eval.rb — Masatoshi SEKI <m_seki@...>
咳といいます。
In article <F01982B3-FBB5-497F-BA36-38FA250E7D69@mva.biglobe.ne.jp>,
咳といいます。
こんにちは、なかむら(う)です。
In article <20090401095853.B00A.C613B076@garbagecollect.jp>,
まつもと ゆきひろです
こんにちは、なかむら(う)です。
[#38222] *BSD で fork できない理由 — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
きしもとです
At Tue, 31 Mar 2009 18:48:46 +0900,
卜部です。
In article <49D308AD.4040303@ruby-lang.org>,
Tanaka Akira さんは書きました:
きしもとです
[ruby-dev:38173] [Bug #1297] Pathname#subの挙動について
Bug #1297: Pathname#subの挙動について
http://redmine.ruby-lang.org/issues/show/1297
起票者: Shintaro KAKUTANI
ステータス: Open, 優先度: Normal
カテゴリ: lib
ruby -v: ruby 1.9.1p0 (2009-01-30) [i386-darwin9.6.0]
かくたにです。
Pathname#subを使って、ファイルパスからファイル名っぽいものを
抜きだそうとしたらうまくいきませんでした。
http://gist.github.com/80263
$ ruby191 -rpathname -ve '
path = "/Users/home/moro/work/xxx/spec/fixtures/me.png"
re = /^.*#{File::SEPARATOR}([^#{File::SEPARATOR}]+)$/
p Pathname.new(path).sub(re){ $1 } # => #<Pathname:>
p Pathname.new( Pathname.new(path).instance_variable_get("@path").dup.sub(re){ $1 } ) # => #<Pathname:me.png>'
ruby 1.9.1p0 (2009-01-30) [i386-darwin9.6.0]
#<Pathname:>
#<Pathname:me.png>
1.8.7でも同様です(というか最初は1.8.7で遭遇)。
$ ruby187 -rpathname -ve '
path = "/Users/home/moro/work/xxx/spec/fixtures/me.png"
re = /^.*#{File::SEPARATOR}([^#{File::SEPARATOR}]+)$/
p Pathname.new(path).sub(re){ $1 } # => #<Pathname:>
p Pathname.new( Pathname.new(path).instance_variable_get("@path").dup.sub(re){ $1 } ) # => #<Pathname:me.png>'
ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-darwin9]
#<Pathname:>
#<Pathname:me.png>
これは、Rails2.3を使ったアプリケーションでファイルアップロードのテストを書いていて、
http://github.com/rails/rails/blob/18eb80ccc7e932f9a6c00462ceaeea648631b120/actionpack/lib/action_controller/test_process.rb
の、368行目で遭遇しました。
@original_filename = path.sub(/^.*#{File::SEPARATOR}([^#{File::SEPARATOR}]+)$/) { $1 }
ここのpathがPathnameのインスタンスだとマッチしません(Stringだとマッチする)。
使う側の気持ちとしては、Pathname#subではファイルパスの文字列へのsubと同じ挙動であって欲しいと思いました。
余談:
Rails.rootがRails 2.3からPathnameを返すようになっていて(以前はStringだった)、
うっかりRails.root.join("spec", "fixtures", "vacation.jpg") と書いて失敗しました。
そんなの聞いてなかったよ……。
----------------------------------------
http://redmine.ruby-lang.org