Ruby創(chuàng)建“關(guān)鍵字”同名方法別名的方法
begin和end是ruby的關(guān)鍵字,但是Range中也有名稱為begin和end的實例方法?,F(xiàn)在問題來了:怎么創(chuàng)建它們的別名方法?
如果用class Range;alias begin_x begin end是不行的,ruby以為后面一個begin是某個語法塊的開頭?。?/p>
2.1.2 :089 > class Range;alias begin0 begin end
2.1.2 :090?>
用class Range;alias begin_x "begin" end也不行,用alias begin_x :begin還是不行!
2.1.2 :083 > class Range
2.1.2 :084?> alias begin0 :begin
2.1.2 :085 > end
2.1.2 :086?> end
SyntaxError: (irb):86: syntax error, unexpected keyword_end, expecting end-of-input
from /Users/apple/.rvm/rubies/ruby-2.1.2/bin/irb:11:in `<main>'
2.1.2 :087 > class Range;alias begin0 "begin" end
SyntaxError: (irb):87: syntax error, unexpected tSTRING_BEG
class Range;alias begin0 "begin" end
^
from /Users/apple/.rvm/rubies/ruby-2.1.2/bin/irb:11:in `<main>'
沒法子了嗎?我突然想到了這個語法:alias begin_x :"begin",這回哦鳥!同樣的end方法類似。
相關(guān)文章
win7安裝ruby on rails開發(fā)環(huán)境
看到很多文章都說ruby環(huán)境在windows上是非常難搭建,會出現(xiàn)各種各樣的怪問題,所以都推薦到linux和mac上安裝開發(fā)。但是我按照教程搭了下,問題也不算太多??傔^大概花費了2個半小時左右就完成了。下面就把安裝的步驟及具體的版本記錄了一下供大家參考。2014-07-07