6

Beast のソース コードを読んでいると、次のようなコードがたくさん見つかりました。

<%= 'Password'[:password_title] %>

私には Symbol を String への入力パラメーターとして [] メソッドを呼び出すように思えますが、Ruby API で String [] メソッドのそのようなタイプのパラメーターを見つけられませんでした。これはどういう意味ですか?前もって感謝します。

4

3 に答える 3

11

これは、Beastが国際化のために使用する「Gibberish」プラグインによって追加された方法です。Rubyのクラスは開いているので、このような場合は常に標準APIを信頼できるとは限りません。

于 2008-12-28T18:00:18.387 に答える
4

獣のソースで、文字列クラスが角かっこ関数のシンボルを受け入れるように変更されているジブリッシュプラグインをチェックしてください。

str[symbol]文字列クラス自体は、メソッドを適用しても合理的なことは何もしません。

于 2008-12-28T17:59:19.450 に答える
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

これらは私が見つけたものです。ここでの記号が文字列と等しい場合でも、コードの意味がわかりません。単純に使用しないのはなぜですか。

<%= 'password' %>

あるいは:

password
于 2008-12-28T17:24:24.140 に答える