Issue #6222 has been updated by rosenfeld (Rodrigo Rosenfeld Rosas).


Guoliang, my issue with "(a; return b) if condition?" is that I don't find it readable and would prefer to read "a then b if condition?" instead. But I don't think that "a \\ return if condition?" is more readable than the currently allowed approach. In fact I prefer the current one to "\\" which is very unintuitive.

This is not a matter of just finding some operator that wouldn't break backward compatibilities. This is about readability.
----------------------------------------
Feature #6222: Use ++ to connect statements
https://bugs.ruby-lang.org/issues/6222#change-25539

Author: gcao (Guoliang Cao)
Status: Rejected
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: 


I propose to use ++ to connect two or multiple statements, e.g.

do_this ++ do_that ++ do_something

It is equivalent to (do_this; do_that; do_something) but more readable.

It can be used to replace below idiom

do_something and return if condition

with

do_something ++ return if condition

The current way is very error prone because do_something might return false/nil in some cases and cause problems. And new Ruby programmers might not understand the meaning behind this idiom and mimic it blindly.

I noticed someone proposed 'then' for same purpose (See http://bugs.ruby-lang.org/issues/6201) but is postponed to 3.0 because it is already a keyword. I like 'then' too but if it is not acceptable due to backward compatibility issue, then '++' is a good alternative.



-- 
http://bugs.ruby-lang.org/