Я взял из учебников, что мне нужно использовать initialize
. Вот часть кода:Что такое поток? Что такое `initialize`?
class Temperature
def initialize(c: nil, f: nil)
@fahrenheit = f
@celsius = c
end
def in_celsius
@celsius ||= (@fahrenheit - 32) * 5.0/9
end
end
Вот RSpec тест:
describe "in degrees celsius" do
it "at 50 degrees" do
Temperature.new(:c => 50).in_celsius.should == 50
end
Когда он проверяет кусок выше, значение 50
прикрепляется к ключевым :c
. @celsius = c
означает, что c
является ключом :c
? Метод new
автоматически направляется на метод initialize
?
У вас есть два совершенно несвязанных вопроса, один из которых посвящен 'initialize' (который уже задан и много раз ответил на StackOverflow, например: http://stackoverflow.com/a/16247013/2988) и один - о аргументах ключевых слов. Если у вас есть два вопроса, вы должны задать два вопроса. –