Rubyにはかなり新しく、<<
演算子が不思議です。Rubyの解説<<演算子
a << 2
しかし1111 0000
ある15
を与えるだろう、「バイナリではないようです。私はこの演算子をGoogleで検索すると、それがこの例で与えられた2進数の左シフト演算子であることを言いますこのコードでの左シフト演算子」:
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
とthis questionは、私が与えたコードに適用されていないようです。だから私が持っているコードでは、Ruby <<
はどのように動作しますか?
"a"とは異なることがあります。 '1 << 4 # => 16 'となります。 (この場合、 "a"は 'Fixnum'でした。演算子は単なるメソッドなので、上記の' '.__ send __(:<<、16)'と書くことができます。少なくとも '' ''は最初の引数で*多形*です) –
あなたはそれをグーグルではできませんが、あなたはそれを記号で表すことができます:http://symbolhound.com/?q=array+%3C%3C –
@AndrewGrimm you私はコーヒーの私の杯をこぼさせた。私は長い間このようなツールを探してきました。 – user2398029