首页 / 知识
关于ruby:如何将参数传递给define_method?
2023-04-16 23:24:00

How do you pass arguments to define_method?我想将一个参数传递给使用define_method定义的方法,我该怎么做? 传递给define_method的块可以包含一些参数。这就是您定义的方法接受参数的方式。当您定义一个方法时,您实际上只是在给该块起个昵称并在类中保留对其的引用。参数随块一起提供。所以:
...以及是否需要可选参数
...尽可能多的参数
...的组合
... 他们全部
更新资料
Ruby 2.0引入了双splat
...当然,您也可以在define方法中使用它:)
命名属性示例:
我试图用关键字参数splat和double splat来创建一个示例:
要么
...但这是行不通的,似乎有限制。当您考虑时,splat运算符"捕获所有剩余的参数"和double splat"捕获所有剩余的关键字参数"是有意义的,因此混合使用它们会破坏预期的逻辑。 (我没有任何参考资料可证明这一点!) 2018年8月更新: 摘要文章:https://blog.eq8.eu/til/metaprogramming-ruby-examples.html 除了Kevin Conner的回答:块参数不支持与方法参数相同的语义。您不能定义默认参数或块参数。 仅在Ruby 1.9中使用新的" stabby lambda"语法来修复此问题,该语法支持完整的方法参数语义。 例:
使用2.2,您现在可以使用关键字参数:
|
最新内容
相关内容
linux命令定义详解?
linux命令定义详解?,工作,系统,管理,命令,信息,单位,数据,基础,简介,目录,Linux常用命令以及解释1、linux系统常用操作命令如下:ls:全拼list,功能linux命令参数大全?
linux命令参数大全?,系统,工作,管理,命令,信息,基础,工具,网络,标准,百度,linux系统常用操作命令linux常用命令有pwd命令、cd命令、ls命令、calinux命令中参数大全?
linux命令中参数大全?,网络,工作,信息,命令,状态,服务,情况,地址,管理,系统,Linux中less命令有什么作用?常用参数有哪些?1、less [参数] 文件linux命令各参数意思?
linux命令各参数意思?,管理,地址,命令,系统,数据,文件,数字,工作,互动,灵活,Linux文件内容筛选命令中的参数看不懂1、Linux sort命令参数:-b:忽linux过滤命令参数?
linux过滤命令参数?,工具,数据,标准,地址,命令,设备,系统,信息,指令,文件,如何通过linux命令根据某一列值唯一来过滤数据(1)定义你的敏感命令列linux下ls命令参数?
linux下ls命令参数?,时间,系统,数据,命令,文件,信息,标准,密码,工作,名字,linux下ls命令1、ls 指令是Linux下最常用的命令之一,也是一条非常古linux读取命令行参数?
linux读取命令行参数?,系统,信息,数据,名称,软件,位置,标准,灵活,百度,资料,Linux命令行操作之sedsed命令行格式为:sed [-nefri] ‘command’linux参数设置命令?
linux参数设置命令?,网络,系统,地址,工作,信息,管理,服务,名称,状态,命令,在linux下如何通过命令查网卡配置linux查看系统网卡信息的命令包括:ilinux主要命令及参数?
linux主要命令及参数?,网络,工作,系统,信息,地址,命令,数字,服务,状态,情况,Linux中获取网络信息的netstat命令的常用参数和用法Linux netstatlinux主要命令及参数?
linux主要命令及参数?,网络,工作,系统,信息,地址,命令,数字,服务,状态,情况,Linux中获取网络信息的netstat命令的常用参数和用法Linux netstatlinux命令du参数?
linux命令du参数?,工作,信息,系统,情况,单位,地址,命令,报告,时间,数据,在LINUX命令中du的-s参数?1、Du(Disk Usage)命令功能说明:统计目录(或linux命令参数r与k?
linux命令参数r与k?,工作,地址,系统,信息,命令,目录,管理,标准,基础,控制台,30个必知的Linux命令技巧,你都掌握了吗1、su:切换用户身份。sudo:以