[#66126] Creation/Conversion methods/functions table for Ruby types — SASADA Koichi <ko1@...>
Hi,
5 messages
2014/11/07
[#66248] [ruby-trunk - Feature #10423] [PATCH] opt_str_lit*: avoid literal string allocations — normalperson@...
Issue #10423 has been updated by Eric Wong.
3 messages
2014/11/13
[#66595] [ruby-trunk - Bug #10557] [Open] Block not given when the argument is a string — bartosz@...
Issue #10557 has been reported by Bartosz Kopinski.
3 messages
2014/11/30
[ruby-core:66477] [ruby-trunk - misc #10541] Remove shorthand string interpolation syntax
From:
recursive.madman@...
Date:
2014-11-26 08:12:58 UTC
List:
ruby-core #66477
Issue #10541 has been updated by Recursive Madman.
> It has been the cause of real problems. http://status.cloudamqp.com/incidents/vj62pnp62tj9
I'd say the "cause" of the problem described in that article is that they deployed code to production without any testing or review. It's not directly a problem with the interpolation syntax, but the way it was used.
> If I came across this code in the wild, I would be surprised by this behavior:
> ```
> # ...
> password = CGI.escape("wordP#@ss")
> # ...
> ```
If you do not want string interpolation, you can just use single quotes. But it is indeed rather surprising to have passwords in source code.
> Perhaps it needs to be used more so more Rubyists know about it...
I agree. Also Ruby tutorials / books should mention it when introducing interpolation syntax in general. The problem linked by the OP could be avoided by a rule of thumb, such as "don't use it when the string is subject to change" (or likely to be copy/pasted and then altered).
----------------------------------------
misc #10541: Remove shorthand string interpolation syntax
https://bugs.ruby-lang.org/issues/10541#change-50093
* Author: Daniel Morrison
* Status: Open
* Priority: Normal
* Assignee: Yukihiro Matsumoto
* Category: syntax
* Target version: current: 2.2.0
----------------------------------------
I would like to see the shorthand string interpolation syntax, "foo#@bar" deprecated and then removed in 3.0.
My reasons:
1. Most experienced Ruby developers I've talked to don't even know it exists.
2. It has been the cause of real problems. http://status.cloudamqp.com/incidents/vj62pnp62tj9
When a syntax is not widely known and has the potential for problems, I think it makes sense to deprecate and remove.
--
https://bugs.ruby-lang.org/