ruby 中的无效函数

2024-04-24

为什么这个功能无效呢?

def request(method='get',resource, meta={}, strip=true)

end

意外的“)”期待关键字_结束

谢谢你!


在 Ruby 中,不能用可选参数包围必需参数。使用

def request(resource, method='get', strip=true, meta={})
end

将解决问题。

作为一个思想实验,考虑原始函数

def request(method='get',resource, meta={}, strip=true)
end

如果我将该方法称为request(object),所需的行为是相当明显的 - 调用该方法object as the resource范围。但如果我把它称为request('post', object)? Ruby 需要理解以下语义method来决定是否'post' is the method or the resource,以及是否object is the resource or the meta。这超出了 Ruby 解析器的范围,因此它只是抛出一个无效函数错误。

一些额外的提示:

我还将元参数放在最后,它允许您在不使用大括号的情况下传递哈希选项,例如:

request(object, 'get', true, foo: 'bar', bing: 'bang')

正如 Andy Hayden 在评论中指出的,以下函数有效:

def f(aa, a='get', b, c); end

通常最好的做法是将所有可选参数放在函数末尾,以避免调用此类函数所需的心理体操。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ruby 中的无效函数 的相关文章

  • 在Rails环境中执行Ruby Worker脚本

    我有以下案例 我希望能够将独立的 Ruby 脚本作为守护进程运行 我希望能够在我的 Rails 项目的上下文 环境中执行此脚本 例如 以便该脚本可以访问后端 我的 Rails 模型 有没有一种简单的方法可以实现这一点 Thanks Use
  • 通过 FTP over TLS/SSL 连接到未经认证的主机

    我从中获取文件的供应商正在从 FTP 更改为基于 SSL 的 FTP 我正在尝试更新我的代码net ftp to net ftptls 我需要连接的新主机未经认证 我的脚本报告此错误 主机名与服务器证书不匹配 供应商不会修复此问题 看着 u
  • 连接后带有 Less/Greater 的Where 子句

    我正在尝试结合一个joins with a where条款 但where子句不是测试相等 而是测试大于或等于 我知道在标准 where 子句中 我可以这样做 Group where vote deadline at lt Time now
  • 使用正则表达式惰性(不贪婪)匹配多个组

    我想获取成对之间任何值的内容
  • 是否有用于序列化和反序列化各种格式的对象层次结构的模式?

    给定一个复杂的对象层次结构 幸运的是它不包含循环引用 如何实现支持各种格式的序列化 我不是来讨论实际实施的 相反 我正在寻找可能派上用场的设计模式的提示 更准确地说 我正在使用 Ruby 我想解析 XML 和 JSON 数据以构建复杂的对象
  • 在没有事件的情况下从 HTML 执行 javascript 函数

    我希望从 HTML 页面调用 javascript 函数 并且我do not希望它依赖于任何事件 该函数位于单独的 js 文件中 因为我希望在许多网页中使用它 我也将变量传递给它 我试过这个 HTML fp footer2 js中的函数 f
  • Gem .gemspec 中的本地依赖关系

    我正在开发一个 gem Gem A 它使用了我也编写的另一个 gem Gem B 到目前为止 Gem B 已添加到 Gem A 的 gemspec 中 gem add dependency gem a gt 0 0 4 但我现在发现需要使用
  • C++ 中的可变参数函数声明中省略了逗号

    我习惯于这样声明可变参数函数 int f int n 读书时C 编程语言我发现书中的声明省略了逗号 int f int n the comma has been omitted 这个语法似乎是 C 特定的 因为当我尝试使用 C 编译器编译它
  • 在单选按钮选择上提交 Rails 表单

    我有以下 Rails 表单 有效 但我想删除 Submit tag 并在选择单选按钮后立即提交表单 我怎么做 p nbsp nbsp p p p 所以我找到了精确的解决方案 感谢输入人员 它帮助我重新定义了我的谷歌搜索
  • 创建符号数组

    有没有更干净的方法来做这样的事情 w address city state postal country map to sym gt address city state postal country 我本想 s本来可以做我想做的事 但事实
  • Ruby 安装由于缺少扩展而中止:openssl、readline、zlib 编译错误

    我正在使用 macOS Catalina 我正在尝试通过 rbenv 安装旧版本的 Ruby 1 9 3 2 1 2 但是 在尝试安装旧版本时 我不断收到以下错误 安装 2 4 或更新版本时没问题 我已经尝试过 brew install o
  • 使用试运行选项运行黄瓜时出错

    我试图通过仅打开和关闭浏览器一次来提高运行测试的速度 http watirmelon com 2012 04 01 Five page object anti patterns http watirmelon com 2012 04 01
  • 如何根据多对多相关模型的属性查找记录?

    楷模 InternalUser has many internal user roles has many roles through gt internal user roles InternalUserRole belongs to i
  • 用于解析序列化 PHP 数组的 ruby​​ gem? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 savon v2 的 SOAP Web 服务 并在响应中获取一个我需要解析的序列化 PHP
  • JavaScript 中的全局函数

    我是 js 新手 试图了解全局和私有函数 我了解全局变量和局部变量 但是如果我有一个名为test html和 2 个名为test1 js and test2 js 现在我包括test1 js and test2 js in test htm
  • python函数返回函数[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Javascript:在 For 循环中创建函数

    最近 我发现自己需要创建一系列函数 这些函数使用 XML 文档中的值 并且我使用 for 循环运行适当的节点 然而 在执行此操作时 我发现数组中的所有函数仅使用过 XML 表的最后一个节点 对应于 for 循环的最后一次运行 以下是展示这一
  • 如何在 R 组内的两个变量的组合上选择具有特定值的行

    这是我之前提出的 R 问题的扩展 如何在R中选择组内具有特定值的行 https stackoverflow com questions 55853841 how to select rows with certain values with
  • 在类中调用类方法

    我意识到这可能是一个幼稚的问题 但我仍然无法弄清楚如何在 Ruby 类中从另一个方法调用一个方法 即在 Ruby 中可以执行以下操作 class A def met1 end def met2 met1 call to previously
  • PHP 函数可以接受无限数量的参数吗? [复制]

    这个问题在这里已经有答案了 在 PHP 中有类似的函数unset 支持我们向它们抛出的任意数量的参数 我想创建一个类似的函数 它能够接受任意数量的参数并处理所有参数 任何想法 如何做到这一点 在 PHP 中 使用该函数func get ar

随机推荐

  • 如何使用 Perl 提取 HTML 标题?

    有没有办法使用 Perl 提取 HTML 页面标题 我知道它可以在表单提交期间作为隐藏变量传递 然后以这种方式在 Perl 中检索 但我想知道是否有一种方法可以在不提交的情况下执行此操作 比如说 我有一个这样的 HTML 页面 然后在 Pe
  • 打印的条形码不清晰 (WPF)

    我的应用程序中需要条形码打印模块 但无法弄清楚如何正确打印条形码 看来分辨率太低了 我在用着禅宗条形码 https barcoderender codeplex com 正如您在所附照片中所看到的 顶部条形码是从打印机软件打印的 证明打印机
  • 注册不起作用,注册未定义错误 React Native

    我刚刚从 Udemy 购买了 React Native 的课程 Stephen Grider 是该课程的作者 所以基本上我是在他打字的时候和他一起打字的 但不幸的是我在跟踪应用程序的注册过程中陷入了错误 每当我在输入电子邮件和密码后单击 注
  • 如何在列表/字符串/范围中查找指定项目后面的特定项目?

    给定一个input任何类型的序列 列表 字符串 范围 如何找到下一个项目input遵循指定项目 另外 如果该项目不存在或后面没有任何内容 该函数应该返回None 我尝试将输入类型转换为列表 然后从列表中查找位置 然后获取下一个项目 但这并不
  • 如何使用 JDBC 进行扩展插入而不构建字符串?

    我有一个应用程序可以解析日志文件并将大量数据插入数据库 它是用 Java 编写的 并通过 JDBC 与 MySQL 数据库通信 我尝试了不同的插入数据的方法 以找到适合我的特定用例的最快方法 目前看来表现最好的方法是发出扩展插入 例如 具有
  • 在 Android 锁屏上显示自定义信息 [重复]

    这个问题在这里已经有答案了 我想自定义锁屏 The default Lock screen is like this 我想修改锁定屏幕的这一部分并让所有其他内容保持不变 当用户锁定手机时 它应该在红色框中显示自定义信息 到目前为止 我已经看
  • mockk java.lang.AssertionError:验证失败:调用 1 of 1:未调用

    我正在使用模拟运行单元测试 当尝试验证方法时 我收到断言错误 并且不知道如何运行测试 这是我的测试方法 get Rule var rule TestRule InstantTaskExecutorRule val autoDownloads
  • Django 中的内联表单集 - 删除某些字段

    我需要创建一个内联表单集 a 排除一些字段MyModel完全显示出来 b 显示一些字段MyModel但阻止它们被编辑 我尝试使用下面的代码 使用values 为了将查询集过滤为我想要返回的值 然而 这失败了 有人有什么想法吗 class P
  • DataDog 事件会自动恢复

    我创建了一个事件监视器 用于捕获有错误的事件 并通过特殊的信使通知有关警报的信息 一切都很顺利 但我注意到此类警报会自行自动恢复一段时间 As I understand it is because of this parameter 因此
  • VB.NET中获取CheckBoxList的所有选中值

    我用过ASPCheckBoxList控制 现在我想要的是在VB代码中获取所有选定的值 HTML
  • 查找包含相似字符串的sql记录

    我的下表有 2 列 ID 和标题 其中包含超过 500 000 条记录 例如 ID Title 1 Aliens 2 Aliens 1986 3 Aliens vs Predator 4 Aliens 2 5 The making of A
  • 为什么java中的嵌套类与C#中的嵌套类在以下方面有所不同?

    我发现了一些类似的帖子 但找不到明确解释这一点的答案 我已经执行了类的嵌套 即 内部 类存在于 外部 类中 并尝试实例化内部类 这就是我遇到的场景 如果是 C class outside public class inside public
  • 龙目岛和吉斯注射液

    我是 lombok 和 guice 注入的新手 我可以了解一般概念 但我遇到了一些我不理解的代码 并且由于语法而无法搜索 以下是代码 有人可以帮助我理解吗 import com google inject Inject import lom
  • 如何获取 mp3 文件的封面?

    我有一个 mp3 文件 当我用 Windows Media Player 阅读它时 它有专辑的封面 所以我想知道是否有办法在 javascript 或 jQuery 中获取该封面 请访问以下网址了解更多内容 http www richard
  • ctypes 包装“MessageBoxA”示例在 python33 中不起作用

    此示例位于 python 3 3 2 文档中 http docs python org 3 library ctypes html highlight ctypes ctypes http docs python org 3 library
  • 从 /var/log/mysql 删除 mysql-bin.**** 文件

    In the var log mysql我发现有很多大文件 rw rw 1 mysql adm 104875724 Nov 16 2016 mysql bin 002982 rw rw 1 mysql adm 104900467 Nov 1
  • 使用解析连接两个表

    我在 parse com 有一个数据库 我有一堂课叫做UserDetail 在该类中 我有一个名为的数组字段occupationid 对于本专栏 我有另一个类称为Occupation其中列就像occupationid occupationn
  • Rails 3 - 带 image_tag + 文本的 link_to

    这部分代码将生成我图片 png作为链接 我需要在该图像上附加一些文本 图像 文本 我尝试了类似的操作
  • 创建多彩板

    我要创建一个多彩板 从第一个方块开始为黑色 然后是蓝色 红色和黄色 这些方块对角线填充 并且没有空的彩色方块 我知道我的算法是错误的 但我不知道如何修复它 目前 我的代码打印如下 import javax swing JFrame impo
  • ruby 中的无效函数

    为什么这个功能无效呢 def request method get resource meta strip true end 意外的 期待关键字 结束 谢谢你 在 Ruby 中 不能用可选参数包围必需参数 使用 def request re