2011-05-20 50 views
-1

結賬https://github.com/ip2k/earthquake/blob/master/lib/earthquake/commands.rb#L106如何使Ruby中的一個(方法|函數| IDK)與另一個相同?

我想基本上做alias :rt :retweet但不起作用

command %r|^:retweet\s+(\d+)$|, :as => :retweet do |m| 
    target = twitter.status(m[1]) 
    if confirm("retweet 'RT @#{target["user"]["screen_name"]}: #{target["text"]}'") 
    async_e { twitter.retweet(m[1]) } 
    end 
end 

command %r|^:retweet\s+(\d+)\s+(.*)$|, :as => :retweet do |m| 
    target = twitter.status(m[1]) 
    text = "#{m[2]} #{config[:quotetweet] ? "QT" : "RT"} @#{target["user"] ["screen_name"]}: #{target["text"]} (#{target["id"]})" 
    if confirm("unofficial retweet '#{text}'") 
    async_e { twitter.update(text) } 
    end 
end 

我怎樣才能讓:rt一樣做:retweet不只是重新界定整個塊,但在地方的:retweet:rt(其我已經完成了它的工作,但這不是一個好的解決方案,我知道必須有更好的方法)。

回答

0

command方法在這裏定義:

https://github.com/ip2k/earthquake/blob/master/lib/earthquake/input.rb#L44

如果你看一下身體,它看起來像你應該省略塊創建一個別名:

command %r|^:retweet\s+(\d+)$|, :as => :rt 
莫非
+0

你請詳細說明一下? '命令%r | ^:retweet \ s +(\ d +)$ |,:as =>:rt'不能解決任何問題。我不能像'command%r | ^:retweet \ s +(\ d +)\ s +(。*)$ |,:as =>:retweet或:rt do | m |'或者命令%r | ^:retweet \ s +(\ d +)\ s +(。*)$ |,:as =>:retweet | :rt do | m |'對不起,我根本不認識Ruby,我只是想讓地震更加有用。 – seanp2k 2011-05-20 21:44:35

相關問題