[Rd] string concatenation operator (revisited)
Duncan Murdoch
murdoch@dunc@n @end|ng |rom gm@||@com
Sun Dec 5 17:50:23 CET 2021
On 05/12/2021 7:22 a.m., Ivan Krylov wrote:
> On Sat, 4 Dec 2021 21:26:05 -0500
> Avi Gross via R-devel <r-devel using r-project.org> wrote:
>
>> In many languages, like PERL, this results in implicated conversion
>> to make "text1" the result.
>
> FWIW, Perl5 has a separate string concatenation operator (".") in order
> to avoid potential confusion with addition. So do Lua (".."), SQL
> ("||", only some of the dialects) and Raku ("~", former Perl6). Some of
> the potential concerns with string concatenation as an operator in R
> could be alleviated by introducing a separate operator, just like matrix
> multiplication ("%*%") is separate from elementwise multiplication
> ("*"), nowadays even in Python ("@" and "*", respectively).
>
People seem to handle the automatic conversion of comparison operators.
Occasionally someone is surprised that
123 < "5"
is TRUE, but mostly people muddle along.
One possible issue is that for some things (e.g. S3 Arith group
generic), "+" is grouped with the other arithmetic operators, "-", "*",
"^", "%%", "%/%", "/". I don't think it would make sense for any of
them to work on strings. But there are exceptions listed for number of
arguments among the Math group, so an exception in the Arith group
wouldn't be the end of the world.
Duncan Murdoch
More information about the R-devel
mailing list