コンテンツへ移動

ruby-dev/core ななめ読む 3/19

2014/3/20 01:18:36

1.9 がバックポート対象から消えていることに気づきました。お疲れ様でしたありがとうございました、と笑顔で見送りたい。


#5663

map と select いっぺんに済ますメソッドがほしい


[ruby-core:61578]
by Tsuyoshi Sawada

このチケットが受け入れられるなら “flat_map” や “to_h” も入れるべきだよ、全部却下か全部許可のどちらかだと思うよ、とのこと。


#9347

Enumerable#detect に call できない引数も渡せるようにしたい


[ruby-core:61582]
by Marc-Andre Lafortune

(キーワード引数ではどうかという提案を受けて)それが良いねパッチ書くよ、でも名前は if_none でいいかなあ?とのこと。


[ruby-core:61583]
by Nobuyoshi Nakada

この pull request(Enumerable#select と Array#select に、引数があったら === して真な要素を選択する)と同じじゃない?とのこと。

こんな pull request があったんですね。


#9425

st を2のべき乗サイズにして剰余計算を高速化


[ruby-core:61579]
by Eric Wong

[ruby-core:61576]パッチの追加の提案に対して)かえって遅くなりそうだよ、この場合に ID スコープビットはそぐわないと思うよ、Ruby ユーザはハッシュやキーワードには英数字(とアンダーバー)を使う傾向があるよ、とのこと。

ID スコープビットってよくわかりませんが、文脈から言って「シンボルの使われる場所によって決まるビットパターン」とかそういうことでしょうか。ローカル変数ならこの形、英数字始まりならこの形、みたいな感じで。


[ruby-core:61580]
by Eric Wong

[ruby-core:61579] の重複。


#9605

each_with_index.detect &lambda で wnoa(1 for 2)


[ruby-core:61581]
by Alex Rothenberg

なかださんとまつもとさんがこの件で話し合ってくれたなんて光栄だね、でも言語仕様の変更ってちょっとビビるなあ、いつも Ruby のためにありがとう、この件で出来ることがあれば協力するよ、とのこと。


#9632

ccan 連結リストを使った IO#close の高速化パッチ


[ruby-core:61593]
by Eric Wong

(自分のパッチについて)コミットするとしたら CC0 宣言のファイルを消してからにするよ、元はシンボリックリンクなんだけど(Ruby のレポジトリにシンボリックリンクは)含められないよね、あー Linux カーネル方式の連結リストほんと好きだなあ、とのこと。

CC0 ってのは簡単に言うと NYSL みたいに「あらゆる権利を放棄する」ライセンスらしいです。


[ruby-core:61595]
by Eric Wong

[ruby-core:61593] の重複。


#9651
(新規)
__dir__ が instance_eval/module_eval の中で nil になる


[ruby-dev:48056]
by Tomoyuki Chikanaga

eval 中で __dir__ が nil になる修正が r42103 で入ったけど instance_eval/module_eval については最近までそのままだったよ、r45360, r45361 で直ったけどバックポート用にチケットにしておくよ、とのこと。

生まれた時から閉じているチケット……なんだか物悲しいです。いや役目があるから別にいいのか。


#9652
(新規)
Time オブジェクトがたくさんあるとタイムゾーンがちゃんと Marshal.dump/load されない


[ruby-core:61584]
by Cantin Xu

Time.now を 100,000 個ほど格納したオブジェクトをダンプ・ロードしてみたら、タイムゾーンに UTF-8 的な変な文字列が入ってきたよ、10,000 個ならなんともなかったよ、とのこと。


[ruby-core:61585]
by Eric Wong

再現しなかったけど参照の足し忘れで GC されちゃったんじゃないかな、(タイムゾーン文字列を Time オブジェクトに)rb_ivar_set () してみるのはどうかな、とのこと。パッチが添付されています。


[ruby-core:61586]
by Eric Wong

[ruby-core:61585] の重複。


[ruby-core:61587]
by Nobuyoshi Nakada

vtm.zone の設定前に rb_str_new_frozen() するともっと良さそうだね、とのこと。


[ruby-core:61588]
by Eric Wong

([ruby-core:61587] を受けて)そうだね、でも Time オブジェクト間でタイムゾーンは重複することが多いから rb_fstring() の方がいいかもね、とのこと。


[ruby-core:61589]
by Eric Wong

[ruby-core:61588] の重複。


[ruby-core:61590]
by Eric Wong

([ruby-core:61588] に追記して)根拠なく fstring テーブルの傾向の話をしてもしょうがないか、rb_str_new_frozen() を使った形でコミットするね、とのこと。


[ruby-core:61591]
by Eric Wong

[ruby-core:61590] の重複。


[ruby-core:61592]
by Eric Wong

みんなどうもねコミットしたよ、元のパッチでは間違ったオブジェクトに ivar をセットしてたよ、再現できたしテストも書いたよ、とのこと。


[ruby-core:61594]
by Eric Wong

[ruby-core:61592] の重複。


[ruby-core:61596]
by Tomoyuki Chikanaga

チケット操作。バックポート対象をを 2.0, 2.1 両方にセット。

Sort by ML-id:
[ruby-core:61578] by Tsuyoshi Sawada:#5663
[ruby-core:61579] by Eric Wong :#9425
[ruby-core:61580] by Eric Wong:#9425
[ruby-core:61581] by Alex Rothenberg:#9605
[ruby-core:61582] by Marc-Andre Lafortune:#9347
[ruby-core:61583] by Nobuyoshi Nakada:#9347
[ruby-core:61584] by Cantin Xu:#9652
[ruby-core:61585] by Eric Wong :#9652
[ruby-core:61586] by Eric Wong:#9652
[ruby-core:61587] by Nobuyoshi Nakada:#9652
[ruby-core:61588] by Eric Wong :#9652
[ruby-core:61589] by Eric Wong:#9652
[ruby-core:61590] by Eric Wong :#9652
[ruby-core:61591] by Eric Wong:#9652
[ruby-core:61592] by Eric Wong :#9652
[ruby-core:61593] by Eric Wong :#9632
[ruby-core:61594] by Eric Wong:#9652
[ruby-core:61595] by Eric Wong:#9632
[ruby-core:61596] by Tomoyuki Chikanaga:#9652
[ruby-dev:48056] by Tomoyuki Chikanaga:#9651

広告
No comments yet

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。