gpt4 book ai didi

ruby - 不使用@调用实例变量

转载 作者:行者123 更新时间:2023-12-02 21:51:46 25 4
gpt4 key购买 nike

我是 Ruby 编程的新手,现在我已经看到了一些示例,其中调用实例变量时前面没有“@”符号。

我不确定这是因为类中的 attr_reader 正在调用方法并且实例变量存储在方法中,还是因为我有错误的理解实例变量。

这是我所指的示例,摘自 Russ Olsen 的 Eloquent Ruby,其中 @unique 数组调用了 size 方法,但没有“@” "前面的符号:

class TextCompressor
attr_reader :unique, :index

def initialize(text)
@unique = []
@index = []
add_text(text)
end

def add_text(text)
words = text.split
words.each { |word| add_word(word) }
end

def add_word(word)
i = unique_index_of(word) || add_unique_word(word)
@index << i
end

def unique_index_of(word)
@unique.index(word)
end

def add_unique_word(word)
@unique << word
unique.size - 1
end
end

最佳答案

我也是 Ruby 的新手,已经学习了几个星期。我相信:

attr_reader :unique

在功能上与定义方法相同:

def unique
@unique
end

关于ruby - 不使用@调用实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18502005/

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