我是Ruby的新手,我想知道<<运营商.当我用Google搜索这个运算符时,它说这是一个二进制左移运算符给出了这个例子:
a << 2会给出15哪个1111 0000
但是,它在这段代码中似乎不是"二进制左移运算符":
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| do 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
@unique << word
unique.size - 1
end
end
Run Code Online (Sandbox Code Playgroud)
而这个问题似乎并不在我所提供的代码申请.所以使用我的代码,Ruby <<运算符如何工作?