Вы также от марки, но это, кажется, делает что-то потому hash
является builtin function, которая возвращает хэш Fixnum для объекта. Когда вы используете квадратные скобки на Fixnum, вы получаете value of the specific bit. Вы хотите создать переменную экземпляра, которая начинается с sigil @
. Кроме того, вы должны создать переменные экземпляра в пределах метода, поэтому мы будем использовать тот, который вызывается всякий раз, когда объект класса создан, initialize
:
class Test
def initialize
@hash = {}
end
def printHash
puts @hash[1]
puts @hash[2]
puts @hash[3]
end
end
Теперь вы найдете это печатает nil
для всех трех , Чтобы проверить, имеет ли хэш значение для определенного ключа, вы можете использовать has_key?
.
Большое спасибо за все объяснения. пытаясь научиться рубину через проблемы Эйлера, и это немного информации, которую я бы никогда не получил от этого. Благодарю. –
Это очень хорошее объяснение. Прежде чем решать проблемы Эйлера, вы можете попробовать Ruby Koans: http://github.com/edgecase/ruby_koans/tree/master –