Project

General

Profile

Actions

Feature #3995

closed

Hash#update with Enumerable

Added by nobu (Nobuyoshi Nakada) over 13 years ago. Updated about 12 years ago.

Status:
Rejected
Assignee:
-
Target version:
-
[ruby-dev:42477]

Description

=begin
[ruby-dev:42476]でMLからの登録に失敗したので再登録します

今のところHash#updateはHashしか受け付けませんが、Enumerableまで
受け付けるように拡張するのはどうでしょうか。
=end


Files

hash_update.diff (3.39 KB) hash_update.diff nobu (Nobuyoshi Nakada), 10/28/2010 07:17 PM
Actions #1

Updated by matz (Yukihiro Matsumoto) over 13 years ago

=begin
まつもと ゆきひろです

In message "Re: [ruby-dev:42477] [Ruby 1.9-Feature#3995][Open] Hash#update with Enumerable"
on Thu, 28 Oct 2010 19:17:23 +0900, Nobuyoshi Nakada writes:

|今のところHash#updateはHashしか受け付けませんが、Enumerableまで
|受け付けるように拡張するのはどうでしょうか。

絶対反対とまではいいませんが、eachが返すべきものがなにかとか
やや明確さに欠けるような気がします。

=end

Actions #2

Updated by nobu (Nobuyoshi Nakada) over 13 years ago

=begin
なかだです。

At Thu, 28 Oct 2010 22:51:37 +0900,
Yukihiro Matsumoto wrote in [ruby-dev:42478]:

|今のところHash#updateはHashしか受け付けませんが、Enumerableまで
|受け付けるように拡張するのはどうでしょうか。

絶対反対とまではいいませんが、eachが返すべきものがなにかとか
やや明確さに欠けるような気がします。

eachがyieldするべきものはHash[]と合わせたつもりです。

使い道としては、重複のチェックとか。

appearance = open(file) {|f|
{}.update(f.each_line.with_index) {|s, o, n| [*o, n]}
}

--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦

=end

Actions #3

Updated by matz (Yukihiro Matsumoto) over 13 years ago

=begin
まつもと ゆきひろです

In message "Re: [ruby-dev:42483] Re: [Ruby 1.9-Feature#3995][Open] Hash#update with Enumerable"
on Fri, 29 Oct 2010 04:02:57 +0900, Nobuyoshi Nakada writes:

|> 絶対反対とまではいいませんが、eachが返すべきものがなにかとか
|> やや明確さに欠けるような気がします。
|
|eachがyieldするべきものはHash[]と合わせたつもりです。

RB_TYPE_P()を使ってはいけないような気がします。せめて、
rb_check_array_type() を使うべきではないでしょうか。

|使い道としては、重複のチェックとか。
|
| appearance = open(file) {|f|
| {}.update(f.each_line.with_index) {|s, o, n| [*o, n]}
| }

うーん、上記の実装の問題がなかったとしても、なんかユースケー
スとして弱い気がするのですが。

=end

Updated by nobu (Nobuyoshi Nakada) about 12 years ago

  • Status changed from Open to Rejected
  • Description updated (diff)
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0