You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby中如何通过method方法而非中缀形式调用整数操作方法

Ruby通过字符串指定操作符执行运算的正确语法

你遇到的语法错误是因为Ruby解析器无法正确识别你要调用method返回的Method对象。有两种正确的写法可以实现需求:

方法一:用括号包裹方法获取语句

把1.method('+')用括号括起来,明确告诉解析器这是一个整体,之后再调用它并传递参数:

(1.method('+'))(2)  # 输出3
(5.method('-'))(3)  # 输出2
(2.method('*'))(4)  # 输出8
(8.method('/'))(2)  # 输出4

方法二:调用Method对象的call方法

这是更直观的写法,直接通过call方法给获取到的操作符方法传递参数:

1.method('+').call(2)  # 输出3
5.method('-').call(3)  # 输出2
2.method('*').call(4)  # 输出8
8.method('/').call(2)  # 输出4

错误原因说明

之前的1.method('+')(2)写法会让Ruby解析器误判,它无法识别后面的(2)是调用前面返回的Method对象,所以需要通过括号包裹或者call方法来明确调用逻辑。

内容的提问来源于stack exchange,提问作者MolarFox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 03:32:10