gpt4 book ai didi

ruby - 无法使用快捷方式调用方法

转载 作者:太空宇宙 更新时间:2023-11-03 17:35:01 26 4
gpt4 key购买 nike

我有一个模块,它定义了一种方法来在 html 文件中记录一些输出。该模块如下所示:

module Htmllog
@htmllogfile = "htmllog/myproject" + Time.now.strftime('%Y%m%d-%H%M%S') + '.html'

def self.add(text, tag)
if tag.length == 0
formattedlog = text
else
formattedlog = "<#{tag}>#{text}</#{tag}>"
puts text
end
File.open(@htmllogfile, "a") do |f|
f.puts formattedlog
end
end
end

我在我的 main.rb 文件中调用它,如果我这样调用它,它工作得很好:

Htmllog.add "Hello world!", "h1"

因为我必须记录很多东西,所以我想添加一个快捷方式来减少位数,我试过这个:

l = Htmllog.add
l "Hello world!", "h1"

但是我得到了这个错误。

`add': wrong number of arguments (0 for 2) (ArgumentError)

不知道哪里出了问题。

最佳答案

使用 Object#method 执行以下操作和 Method#call :

l = Htmllog.method(:add)
l.call("Hello world!", "h1")
l.("Hello world!", "h1") # which is same l.call("Hello world!", "h1")

l = Htmllog.add 根据您的 add 方法定义无效。所以你得到了错误。

关于ruby - 无法使用快捷方式调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19773312/

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