gpt4 book ai didi

ruby 混合错误

转载 作者:数据小太阳 更新时间:2023-10-29 07:57:36 24 4
gpt4 key购买 nike

我对以下代码感到困惑。

HTTPParty 库有一个名为 def self.get(..) 的类方法.

我将其包含在 Client 中模块,然后包括 Client我的模块 Line上课并访问 get我的方法 def self.hi()方法。但是当我运行时,它会抛出错误:

ruby geek-module.rb
geek-module.rb:12:in `hi': undefined method `get' for Line:Class (NoMethodError)
from geek-module.rb:16:in `<main>'

为什么我无法访问 get HTTParty的方法?以下是代码:

require 'rubygems'
require 'httparty'

module Client
include HTTParty
end

class Line
include Client

def self.hi
get("http://gogle.com")
end
end

puts Line.hi

最佳答案

您无法访问 self.get 方法,因为您使用了 include HTTParty,include 使类的实例可以访问方法,而不是类本身,您的 hi 方法是类方法,但是 get 方法是实例方法。如果你使用类似的东西:

class Line
include Client

def hi
get("http://gogle.com")
end
end

line = Line.new
line.get

我觉得应该可以

... 或者只使用 extend Client 而不是 include

关于ruby 混合错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5934749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com