当我阅读Beast的源代码时,我发现了很多这样的代码:
<%= 'Password'[:password_title] %>
看起来像是调用[]方法,将Symbol作为String的输入参数给我,但我没有在ruby API中找到String []方法的这种类型的参数。这是什么意思? 提前谢谢。
答案 0 :(得分:11)
这是Beast用于“国际化”的“Gibberish”插件添加的方法。请记住,Ruby中的类是开放的,因此在这种情况下,您不能总是依赖标准API!
答案 1 :(得分:4)
在beast源代码中,查看正在修改String类的乱码插件,以接受括号函数中的符号。
通过应用str[symbol]
方法,String类本身不会做任何合理的事情。
答案 2 :(得分:1)
str[fixnum] => fixnum or nil
str[fixnum, fixnum] => new_str or nil
str[range] => new_str or nil
str[regexp] => new_str or nil
str[regexp, fixnum] => new_str or nil
str[other_str] => new_str or nil
这些是我发现的。如果这里的符号等于String,我仍然不明白代码的含义。为什么不简单地使用:
<%= 'password' %>
甚至:
password