[#114774] [Ruby master Feature#19884] Make Safe Navigation Operator work on classes — "p8 (Petrik de Heus) via ruby-core" <ruby-core@...>
Issue #19884 has been reported by p8 (Petrik de Heus).
13 messages
2023/09/15
[ruby-core:114695] [Ruby master Feature#19737] Add `IO::Buffer#cat` for concat `IO::Buffer` instances
From:
"mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date:
2023-09-12 08:14:52 UTC
List:
ruby-core #114695
Issue #19737 has been updated by mame (Yusuke Endoh).
Assignee set to ioquatix (Samuel Williams)
----------------------------------------
Feature #19737: Add `IO::Buffer#cat` for concat `IO::Buffer` instances
https://bugs.ruby-lang.org/issues/19737#change-104525
* Author: unasuke (Yusuke Nakamura)
* Status: Open
* Priority: Normal
* Assignee: ioquatix (Samuel Williams)
----------------------------------------
## motivation
In my use case, I want to concat two IO::Buffer instances. But current implementation doesn't have that way.
Then I created a patch. Opend here: TBD
## concern
I have two concerns about it.
### 1. Should we provide `IO::Buffer#+` as an alias?
In String instance, `"a" + "b"` returns `"ab",`. It feels intuitive.
So, should we provide the same way as `IO::Buffer.for("a") + IO::Buffer.for("b")`?
If `+` is provided, I naturally assume that `*` is also provided as an operator.
Should we also provide an `IO::Buffer#*` method for symmetry with the String class?
I thought the behavior of the "*" method is not obvious to me... (Is it right to just return joined buffers?)
### 2. Should it accept multiple IO::Buffer instances?
In the `cat` command, it accepts multiple inputs like this.
```
$ cat a.txt b.txt c.txt
a
b
c
```
Should `IO::Buffer#cat` accept multiple inputs too?
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/