[#73707] [Ruby trunk Misc#12004] Code of Conduct — hanmac@...
Issue #12004 has been updated by Hans Mackowiak.
3 messages
2016/02/05
[#73730] [Ruby trunk Feature#12034] RegExp does not respect file encoding directive — nobu@...
Issue #12034 has been updated by Nobuyoshi Nakada.
3 messages
2016/02/07
[#73746] [Ruby trunk Feature#12034] RegExp does not respect file encoding directive — nobu@...
Issue #12034 has been updated by Nobuyoshi Nakada.
3 messages
2016/02/09
[#73919] [Ruby trunk Feature#11262] Make more objects behave like "Functions" — Ruby-Lang@...
Issue #11262 has been updated by J旦rg W Mittag.
3 messages
2016/02/22
[#74019] [Ruby trunk Bug#12103][Rejected] ruby process hangs while executing regular expression. — duerst@...
Issue #12103 has been updated by Martin D端rst.
3 messages
2016/02/27
[ruby-core:74000] [Ruby trunk Feature#12075] some container#nonempty?
From:
matthew@...
Date:
2016-02-26 05:22:06 UTC
List:
ruby-core #74000
Issue #12075 has been updated by Matthew Kerwin.
Nobuyoshi Nakada wrote:
> First, along this line, we'll need negative forms for all predicate methods.
>
> And I think `nil.empty?` makes no sense.
>
> Just an idea:
>
> ```ruby
> module Kernel
> def not(*a)
> not a.empty? ? self : __send__(*a)
> end
> end
>
> ary = nil; ary&.not(:empty?) #=> nil
> ary = []; ary&.not(:empty?) #=> false
> ary = [nil]; ary&.not(:empty?) #=> true
> ```
I like this proposal. I definitely prefer the word 'not' over the symbol '!', because `ary&.!:empty?` has too much consecutive punctuation for my eyes.
Would there be value in extending it to accept a block?
```ruby
module Kernel
def not(*a, &b)
not a.empty? ? self : __send__(*a, &b)
# or even:
#not a.empty? ? (b ? yield self : self) : __send__(*a, &b)
end
end
ary = []; ary&.not(:any?){|x|x>0} #=> true
ary = [1]; ary&.not(:any?){|x|x>0} #=> false
```
----------------------------------------
Feature #12075: some container#nonempty?
https://bugs.ruby-lang.org/issues/12075#change-57154
* Author: Yui NARUSE
* Status: Assigned
* Priority: Normal
* Assignee: Yukihiro Matsumoto
----------------------------------------
I sometimes write following code.
```
ary = some_metho_returns_nil_or_empty_container() # nil or "" or [] or {}
if ary && !ary.empty?
# some code
end
```
But the condition `ary && !ary.empty?` is too long and complex.
Though Ruby 2.3 introduces `&.`, but this can’t be written as `ary&.empty?`.
One idea is add `nonempty?` write as `ary&.nonempty?`.
akr: `nonempty?` is not good name because human is not good at handling
This discussion matches following core classes:
* String
* Array
* Hash
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>