ruby - 别名 foo bar 和只是 foo = bar 之间的区别

标签 ruby

在通过 ruby​​learning 教程学习 ruby​​ 时,我必须“使用别名”部分。
我无法理解在示例中使用别名有什么区别:

def oldmtd  
  "old method"  
end  
alias newmtd oldmtd  
def oldmtd  
  "old improved method"  
end  
puts oldmtd  
puts newmtd

带输出
old improved method
old method

并且只是为这个函数分配一个新变量,比如:
def oldmtd  
  "old method"  
end  
newmtd = oldmtd  
def oldmtd  
  "old improved method"  
end  
puts oldmtd  
puts newmtd

具有相同的输出:
old improved method
old method

请告诉我什么是实际差异以及何时使用“别名”是正确的?

最佳答案

newmtd = oldmtd您没有为函数分配新变量;您正在为函数的结果分配一个变量,即字符串。在 Python 中:newmtd = oldmtd()

关于ruby - 别名 foo bar 和只是 foo = bar 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58958567/

相关文章:

ruby - 重命名由 Array.new 创建的数组

ruby-on-rails - 带有选项的 link_to image_tag (rel, title)

ruby - 为什么 Test::Unit.test_order= 没有按预期工作?

sql - 产品查询简历

ruby-on-rails - 如何让 Rails 从本地源目录中获取 gem?

ruby - 剥离所有 tbody 标签而不毁掉他们的 child

ruby-on-rails - 找不到 gem rails

ruby - 如何使用正则表达式选择由相同字母组成的单词?

css - 如何在 Ruby 中验证 XHTML、ATOM 和 CSS?

Ruby 亚马逊图书搜索