[#64703] Add `Hash#fetch_at` (issue #10017) — Wojtek Mach <wojtek@...>
Hey guys
1 message
2014/09/01
[#64711] [ruby-trunk - Bug #10193] [Closed] TestIO#test_readpartial_locktmp fails randomly — nobu@...
Issue #10193 has been updated by Nobuyoshi Nakada.
3 messages
2014/09/02
[#64744] [ruby-trunk - Bug #10202] [Open] TestBenchmark#test_realtime_output breaks on ARM — v.ondruch@...
Issue #10202 has been reported by Vit Ondruch.
3 messages
2014/09/03
[#64823] documenting constants — Xavier Noria <fxn@...>
I am writing a Rails guide about constant autoloading in Ruby on
5 messages
2014/09/07
[#64838] [ruby-trunk - Bug #10212] [Open] MRI is not for lambda calculus — ko1@...
Issue #10212 has been reported by Koichi Sasada.
6 messages
2014/09/08
[#64858] Re: [ruby-trunk - Bug #10212] [Open] MRI is not for lambda calculus
— Eric Wong <normalperson@...>
2014/09/08
rb_env_t may use a flexible array, helps a little even on my busy system:
[#64871] Re: [ruby-trunk - Bug #10212] [Open] MRI is not for lambda calculus
— SASADA Koichi <ko1@...>
2014/09/08
(2014/09/08 19:48), Eric Wong wrote:
[#64972] [ruby-trunk - Bug #10231] [Open] Process.detach(pid) defines new singleton classes every call — headius@...
Issue #10231 has been reported by Charles Nutter.
3 messages
2014/09/11
[#64980] [ruby-trunk - Bug #10212] MRI is not for lambda calculus — ko1@...
Issue #10212 has been updated by Koichi Sasada.
4 messages
2014/09/12
[#65142] [ruby-trunk - Feature #10267] [Open] Number of processors — akr@...
Issue #10267 has been reported by Akira Tanaka.
4 messages
2014/09/20
[#65144] Re: [ruby-trunk - Feature #10267] [Open] Number of processors
— Eric Wong <normalperson@...>
2014/09/20
akr@fsij.org wrote:
[#65210] [ruby-trunk - misc #10278] [Assigned] [RFC] st.c: use ccan linked list — nobu@...
Issue #10278 has been updated by Nobuyoshi Nakada.
3 messages
2014/09/22
[ruby-core:65050] [ruby-trunk - Feature #10240] String#to_a
From:
sawadatsuyoshi@...
Date:
2014-09-16 00:13:34 UTC
List:
ruby-core #65050
Issue #10240 has been updated by Tsuyoshi Sawada.
Matz is right. I was wrong about the idea. In the cases I showed, I should have had `nil` values instead of empty strings. I will withdraw this proposal.
----------------------------------------
Feature #10240: String#to_a
https://bugs.ruby-lang.org/issues/10240#change-48921
* Author: Tsuyoshi Sawada
* Status: Open
* Priority: Normal
* Assignee:
* Category:
* Target version:
----------------------------------------
I would like to propose `String#to_a` that is equivalent to the following:
class String
def to_a; empty? ? [] : self end
end
The use case/motivation is as follows.
I often have some strings and want to create an array of them excluding the empty ones. One such situation is when I want to `join` the strings with `", "` but remove empty strings before applying `join`.
One way is to explicitly do this:
[string1, string2, string3].reject(&:empty?).join(", ")
But I prefer an easier way. What comes to my mind is that empty objects that have the `to_a` method can be easily excluded from an array by just using the splat operator:
[*array, *hash] # => Any of the empty `array`, `hash` will be removed, and the remaining elements will be expanded
Here, the empty ones will be removed by the implicit application of `to_a` and the splat operator.
This will not work with strings though as in the following.
[*string1, *string2, *string3]
In order to make it work, we may make use of the Rails' `Object#presence`:
[*string1.presence, *string2.presence, *string3.presence]
but that is too much to type. If we had `String#to_a` as defined above, then we can easily do:
[*string1, *string2, *string3].join(", ")
and have the empty strings removed before `join`.
--
https://bugs.ruby-lang.org/