Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使Ruby中的一个(方法|函数| IDK)与另一个做相同的事情?_Ruby_Function_Twitter_Methods_Alias - Fatal编程技术网

如何使Ruby中的一个(方法|函数| IDK)与另一个做相同的事情?

如何使Ruby中的一个(方法|函数| IDK)与另一个做相同的事情?,ruby,function,twitter,methods,alias,Ruby,Function,Twitter,Methods,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

退房

我基本上想做
别名: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
做得一样,而不只是重新定义整个块,而是用
:rt
代替
:retweet
(我这样做是为了让它工作,但这不是一个好的解决方案,我知道必须有更好的方法)。

这里定义了
命令
方法:

如果查看主体,看起来应该忽略块以创建别名:

命令%r |^:retweet\s+(\d+)$|,:as=>:rt

您能详细说明一下吗<代码>命令%r |^:retweet\s+(\d+)$|,:as=>:rt无法修复任何问题。我不能做一些像
command%r | ^:retweet\s+(\d+)\s+(.*)$,:as=>:retweet或:rt do | m |
command%r | ^:retweet\s+(\d+)\s+(.*)$,:as=>:retweet |:rt do | m |
对不起,我根本不懂Ruby,我只是想让地震更有用。