From: "mame (Yusuke Endoh)" Date: 2012-04-07T01:47:28+09:00 Subject: [ruby-core:44164] [ruby-trunk - Feature #6265] Remove 'useless' 'concatenation' syntax 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/