在Ruby中为方法或变量名添加别名就是为该方法或变量创建第二个名称。别名可以用于为使用类的程序员提供更具表现力的选项,也可以用于帮助重写方法和更改类或对象的行为。Ruby使用“alias”和“alias_method”关键字提供此功能。
alias关键字有两个参数:旧方法名和新方法名。方法名应该作为标签传递,而不是字符串。标签用于引用方法和变量,而不直接引用它们。如果您是一名新的Ruby程序员,标签的概念可能看起来很奇怪,但是每当您看到“:methodname”这样的标签时,只要将其读作“名为methodname的东西”。下面的示例声明了一个新类,并为名为start的on方法创建了一个别名。
#!/usr/bin/env rubyclass Microwavedef onputs "The microwave is on"endalias :start :onendm = Microwave.newm.start # same as m.on有时,您可能希望在声明类后更改其行为。通过创建与现有类声明同名的第二个类声明,可以为现有类别名并添加新方法。您还可以使用类似于继承类语法的语法向单个对象添加别名和方法。任何类的行为都可以通过为任何方法创建别名,然后创建一个新方法(使用原始方法名)来更改,该方法使用别名调用该方法。
在下面的示例中,声明了一个微波类并创建了一个实例。第二个类声明使用别名方法更改“on”方法的行为,以便添加警告消息。第三个类声明用于更改特定微波实例的行为,以添加更严厉的警告。在多次使用方法别名时,请确保使用不同的方法名称来存储旧方法。
#!/usr/bin/env rubyclass Microwavedef on puts "Microwave is on" end endm = Microwave.newm.onclass Microwave alias :old_on1 :ondef on puts "Warning: Do not insert metal objects!" old_on1 end endm.on# Message for this specific microwaveclass < def onputs "This microwave is weak, add extra time"old_on2endendm.on # Displays extra messagem2 = Microwave.newm2.on # Does not display extra message...的一个主要优点是这些语言支持面向对象编程(OOP)。OOP方法有助于使用对象对一个或一组程序进行建模。Ruby和Python的关键区别在于Ruby主要用于web开发,而Python主要用于各种应用程序,包括web开发。Python还常用于科学计算、数...
... 要在Finder中为文件(或文件夹)创建别名,请在选定文件后单击“生成别名”右键单击菜单选项。然后可以将别名移动到任何位置。它总是指向原始文件,不会占用太多的空间。 ...
...名,则应将其删除。但是,如果您想使用该登录作为备份方法,则可以在将其保留在您的帐户上的同时阻止将其用于登录。 ...
...文件和文件夹移到那里,或者 在新文件夹中为它们创建别名。(为你最喜欢的应用程序加上别名。) ...
...。也可以单击“附加”按钮(看起来像回形针)并使用此方法选择文件。如果电子邮件不能解决这个问题,那就试试其他一些发送大文件的方法。 ...
...一个最受欢迎的应用程序列表。在macOS中创建别名有两种方法: ...
... 在互联网的早期,创建网页的方法是将每个页面**成一个文件,然后将文件上传到服务器。在当今数据库和高级管理面板的世界中,这似乎有点过时了。但这两种趋势的结合导致了ssg的日益流行。 ...
Discord服务器可以大量定制以满足其成员的需要。一种方法是添加自定义表情符号。你可以在Discord网站上,或在桌面或移动应用程序中执行此操作。 标准的Discord服务器有数量有限的自定义表情符号插槽。如果您想添加更多,您...
Steam允许您在其服务条款中为任何内容设置名称。这会使你很难找到人,即使他们已经在你的朋友名单上了。通过在Steam中检查别名来找出谁是谁。 Steam将始终保留您在游戏生涯中可能使用过的各种别名的历史记录。你可以查看...