You need to enable JavaScript to run this app. 调用generate_municipal_withins报参数数量错误该如何修正语法?
优惠活动
大模型
产品
解决方案
定价
更多

调用generate_municipal_withins报参数数量错误该如何修正语法?

错误原因

你定义的generate_municipal_withins(municipal, radius)是位置参数,要求调用时按顺序传入两个独立的参数值:

  • 第一次调用时传入的municipal: municipal, radius: 70本质是单个Hash对象,相当于只给方法传了1个参数,触发参数数量不匹配的错误
  • 后续修改的generate_municipal_withins(municipal: municipal, 70)写法不符合Ruby语法规范,仍然无法满足位置参数的传参要求

修正方案

方案1:不修改原方法定义,调整调用写法

直接按位置顺序传入两个参数即可,修改后的调用代码如下:

@municipals.each do |municipal|
  generate_municipal_withins(municipal, 70)
end

方案2:保留关键字参数调用习惯,修改方法定义

如果你希望调用时明确标注参数名提升可读性,可以把原方法的参数声明修改为关键字参数格式:

def generate_municipal_withins(municipal:, radius:)
  # 方法原有内部逻辑不需要修改
end

修改方法定义后,你最开始写的generate_municipal_withins(municipal: municipal, radius: 70)调用代码就可以正常运行。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 15:54:05