Issue #6265 has been updated by mame (Yusuke Endoh).
=begin
I don't think the current code in mkmf.rb is good.
I just meant that the syntax is actually used and thus we cannot remove it from 2.0.
I'm not against this proposal in the future.
$ cat concat_quine.rb
eval$s="s='eval$s='+$s.split.join.dump;('%0382b'%(('40i3tgbj1q4n'+
'" "n3" "t7" "1py" "1ur" "h'" "+
'" "xtb74az" "4" "ym" "2" "03" "fx542i6" "e" "udoj" "').#
t" "o_i(36)" "<" "<7" "0" "))" ".gsub(/" "0" "(?=1" ")|xx
|" "1(?=0)/" ")" "{$" "&" "<<" "34}.tr(" "'1'," "''<<
3" "2)" ".g" "s" "ub" "('" "0" "'){;" ";;s.
slice!(0,1)}.scan(/.{66}/){puts$&}#_CONCAT_QUINE_(c)_Y.Endoh_2012"
$ ruby concat_quine.rb
eval$s="s='eval$s='+$s.split.join.dump;('%0382b'%(('40i3tgbj1q4n'+
'" "n3" "t7" "1py" "1ur" "h'" "+
'" "xtb74az" "4" "ym" "2" "03" "fx542i6" "e" "udoj" "').#
t" "o_i(36)" "<" "<7" "0" "))" ".gsub(/" "0" "(?=1" ")|xx
|" "1(?=0)/" ")" "{$" "&" "<<" "34}.tr(" "'1'," "''<<
3" "2)" ".g" "s" "ub" "('" "0" "'){;" ";;s.
slice!(0,1)}.scan(/.{66}/){puts$&}#_CONCAT_QUINE_(c)_Y.Endoh_2012"
=end
----------------------------------------
Feature #6265: Remove 'useless' 'concatenation' syntax
https://bugs.ruby-lang.org/issues/6265#change-25685
Author: rosenfeld (Rodrigo Rosenfeld Rosas)
Status: Assigned
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category:
Target version: 3.0
What is wrong with this code:
some_method 'argument1', 'argument2' 'argument3'
Yes, the missing colon, but it is not always easy to notice that...
What is this ('concatenation' 'syntax') useful for?
Why writing ('some ' 'concatenation') instead of 'some concatenation'?
A missing colon between string arguments can lead to some bugs that may be hard to find, specially if the arguments are optional.
And I can't see any useful case where this allowed syntax for concatenation would help.
--
http://bugs.ruby-lang.org/