[#23132] [Bug #1357] Fixing variables into specific CPU registers deemed overrated & may disturb compilers' optimizers — Ollivier Robert <redmine@...>
Bug #1357: Fixing variables into specific CPU registers deemed overrated & may disturb compilers' optimizers
[#23154] [Bug #1363] Wrong value for Hash of NaN — Heesob Park <redmine@...>
Bug #1363: Wrong value for Hash of NaN
Hi,
Hi,
Yukihiro Matsumoto wrote:
[#23168] [Bug #1367] flatten(0) is not consistent with flatten(), flatten(1), etc. — Paul Lewis <redmine@...>
Bug #1367: flatten(0) is not consistent with flatten(), flatten(1), etc.
Issue #1367 has been updated by Paul Lewis.
[#23174] [Feature #1371] FTPS Implicit — Daniel Parker <redmine@...>
Feature #1371: FTPS Implicit
[#23193] Regexp Encoding — James Gray <james@...>
I'm trying to document the Encoding Regexp objects receive for the =20
[#23194] [Feature #1377] Please provide constant File::NOATIME — Johan Walles <redmine@...>
Feature #1377: Please provide constant File::NOATIME
[#23231] What do you think about changing the return value of Kernel#require and Kernel#load to the source encoding of the required file? — =?ISO-8859-15?Q?Wolfgang_N=E1dasi-Donner?= <ed.odanow@...>
Dear Ruby developers and users!
Wolfgang N叩dasi-Donner wrote:
Wolfgang N叩dasi-Donner wrote:
Michael Neumann schrieb:
[#23252] [Bug #1392] Object#extend leaks memory on Ruby 1.9.1 — Muhammad Ali <redmine@...>
Bug #1392: Object#extend leaks memory on Ruby 1.9.1
[#23267] StringIO: RubySpec violation — Hongli Lai <hongli@...99.net>
I ran RubySpec against the 1.8.6-p368 release. It seems that
[#23289] [Bug #1399] Segmentation fault is raised when you use a postgres gem — Marcel Keil <redmine@...>
Bug #1399: Segmentation fault is raised when you use a postgres gem
[#23297] Ruby Oniguruma question — Ralf Junker <ralfjunker@...>
I see that the Ruby source code contains modified and more recent version of the Oniguruma regular expression library.
[#23305] [Bug #1403] Process.daemon should do a double fork to avoid problems with controlling terminals — Gary Wright <redmine@...>
Bug #1403: Process.daemon should do a double fork to avoid problems with controlling terminals
Hi,
[#23311] [Bug #1404] Net::HTTP::Post failing when a post field contains ":" — Ignacio Martín <redmine@...>
Bug #1404: Net::HTTP::Post failing when a post field contains ":"
[#23318] [Feature #1408] 0.1.to_r not equal to (1/10) — Heesob Park <redmine@...>
Feature #1408: 0.1.to_r not equal to (1/10)
Issue #1408 has been updated by Roger Pack.
Issue #1408 has been updated by Marc-Andre Lafortune.
Issue #1408 has been updated by tadayoshi funaba.
Hi,
Hi.
[#23321] [Bug #1412] 1.8.7-p160 extmk.rb fails when cross compiling — Luis Lavena <redmine@...>
Bug #1412: 1.8.7-p160 extmk.rb fails when cross compiling
[ruby-core:23277] Re: [Feature #666](Rejected) Enumerable::to_hash
Thank you for your response
On Mon, Apr 20, 2009 at 2:13 PM, Yukihiro Matsumoto <matz@ruby-lang.org> wr=
ote:
> For that reason, a method for assoc_to_hash operation might be more
> appropriate. =A0But I still have doubt.
Let me attempt to dissolve (some of) your doubts. I checked rapidly
rails' code. I found over 40 "inject({})" and looking at them reveals
that most could be improved using #to_hash.
For example, the first ones I found could be rewritten as follows:
# part_container.rb
attrs =3D attrs.inject({}) { |h,s| k,v =3D s.split(/=3D/, 2); h[k] =3D v; h=
}
# =3D=3D>
attrs =3D attrs.map{ |s| s.split(/=3D/, 2) }.to_hash
# route_set.rb (meta programming)
args =3D args.zip(#{route.segment_keys.inspect}).inject({}) do |h, (v, k)|
h[k] =3D v
h
end
# =3D=3D>
args =3D args.zip(#{route.segment_keys.inspect}).to_hash
# route_set.rb
recall.inject({}) do |expiry, (key, recalled_value)|
expiry[key] =3D (options.key?(key) && options[key].to_param !=3D
recalled_value.to_param)
expiry
end
# =3D=3D>
recall.to_hash do |key, recalled_value|
[key, (options.key?(key) && options[key].to_param !=3D recalled_value.to_=
param)]
end
# etc...
These are easy to find but are not the only instances that could be
improved, of course. Here's another example I found:
# routes.rb
@parameter_shell ||=3D returning({}) do |shell|
requirements.each do |key, requirement|
shell[key] =3D requirement unless requirement.is_a? Regexp
end
end
# =3D=3D>
@parameter_shell ||=3D requirements.reject{|key, requirement|
requirement.is_a? Regexp}.to_hash
I believe the latter form is not only more concise but much more expressive=
.
My final comment would be that although 40 inject({}), a couple of
returning({}) and other places I don't know of in the whole of rails'
code is not that much. Just for comparision's sake, there are only 2
uses of #assoc, 0 of #rassoc, 1 of #partition, 3 of #grep, etc... So I
believe that #to_hash would be reasonably useful.
Thank you,
Marc-Andr=E9