Я новичок в программировании, особенно в Ruby, поэтому я делаю некоторые базовые проекты. У меня есть этот код, и, насколько я знаю, он должен работать, но он дает результаты, которых я не ожидаю.Подсветка не работает
Программа принимает a и B и возвращает a^b. Я сделал это как упражнение по программированию, поэтому почему я не просто пошел ** b.
class Exponate
attr_accessor :args
def initialize args = {}
@args = args
@ans = nil
end
def index
@args[:b].times {
@ans = @args[:a] * @args[:a]
}
puts @ans
end
end
e = Exponate.new(:a => 32, :b => 6)
e.index
e.args[:a] = 5
e.index
Возвращает
1024 # Should be 1_073_741_824
25 # Should be 15_625
Но они, безусловно, не то, что
Почему не просто '@args [: a] ** (@args [: b] + 1)'? – spickermann
@spickermann Поскольку я хотел сделать это вручную, как упражнение по программированию –
Вы должны улучшить свой вопрос, описав, что вы хотите делать программе, иначе он будет закрыт. –