From: matz@... Date: 2014-02-25T16:13:25+00:00 Subject: [ruby-core:61077] [ruby-trunk - Feature #7854] [Assigned] New method Symbol[string] Issue #7854 has been updated by Yukihiro Matsumoto. Status changed from Rejected to Assigned Assignee changed from Yukihiro Matsumoto to Yui NARUSE Symbol.find is OK for me. Matz. ---------------------------------------- Feature #7854: New method Symbol[string] https://bugs.ruby-lang.org/issues/7854#change-45474 * Author: Nathan Zook * Status: Assigned * Priority: Normal * Assignee: Yui NARUSE * Category: core * Target version: next minor ---------------------------------------- I propose a new class method [] on Symbol. If a symbol s already exists such that s.to_s == string, then s is returned. If not, nil is returned. The inspiration for this method is a question I was asked, and the answer I was given: "Why would you want to turn a tainted string into a symbol?" "I don't--I want to access an existing symbol with tainted data". Symbol[] accesses the symbol table like hash[] accesses the elements of a hash. I believe that this completely addresses the problems behind tickets #7791 and #7839. I believe that it is a more intuitive solution than my proposal #7795, and I believe that this will also be useful for YAML.safe_load and similar initiatives. ---Files-------------------------------- symbol_lookup.patch (1.83 KB) symbol_lookup2.patch (1.36 KB) symbol_lookup3.patch (1.07 KB) symbol_lookup3_warn.patch (1.16 KB) -- http://bugs.ruby-lang.org/