-1
Я строю довольно простой Module :: Class с методом инициализации.инициализировать метод с аргументом не распознает аргумент
module Encryption
class Caesar
def initalize(number)
@caesar_number = number
end
end
end
когда я бегу Encryption::Caesar.new(2)
я получаю следующее сообщение об ошибке:
ArgumentError: wrong number of arguments (1 for 0)
from (irb):32:in `initialize'
from (irb):32:in `new'
from (irb):32
from /Users/yedidyaweiner/.rvm/rubies/ruby-2.1.3/bin/irb:11:in `<main>
Если я бегу Encryption::Caesar.new
, он успешно создает новый экземпляр класса.
Почему ошибка говорит о том, что она не ожидает аргумента, если она определена в методе initialize
?
потому что вы создаете новый экземпляр класса Цезарь, но не вызываете действие инициализации. вам нужно будет перейти на Encryption :: Caesar.initialize (2) – smoggers
Initalize? Купите 'i' :) –
@smoggers: 'Encryption :: Caesar.initialize (2)' будет вызывать 'private method 'инициализировать' called' error. – orde