當我讀野獸的源代碼,我發現這樣的大量的代碼:[]紅寶石字符串的方法
<%= 'Password'[:password_title] %>
看起來爲[]的方法的調用與符號作爲輸入參數爲字符串對我來說,但我沒有在ruby API中找到這種類型的String []方法的參數。這是什麼意思? 在此先感謝。
當我讀野獸的源代碼,我發現這樣的大量的代碼:[]紅寶石字符串的方法
<%= 'Password'[:password_title] %>
看起來爲[]的方法的調用與符號作爲輸入參數爲字符串對我來說,但我沒有在ruby API中找到這種類型的String []方法的參數。這是什麼意思? 在此先感謝。
這是一種由「Gibberish」插件增加的用於國際化的Beast使用的方法。請記住,Ruby中的類是開放的,所以在這種情況下你不能總是依靠標準API!
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
在獸源,檢查出亂碼插件,其中String類進行修改,以接受括號函數符號。
通過應用str[symbol]
方法,字符串類本身不會做任何合理的事情。
是的,這有點奇怪。我會刪除我的答案。在我提供之前我沒有想過。 – PEZ 2008-12-28 17:28:06