Project

General

Profile

Actions

Feature #19737

closed

Add `IO::Buffer#cat` for concat `IO::Buffer` instances

Added by unasuke (Yusuke Nakamura) 11 months ago. Updated 8 months ago.

Status:
Rejected
Target version:
-
[ruby-core:113944]

Description

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?

Actions

Also available in: Atom PDF

Like3
Like0Like0Like0Like0Like0Like0