У меня есть несколько методов для класса, которые возвращают массивы, такие как ["1", "3", "2", "6", "2"]
. Это нормально, что это строковые массивы, а не числа. У меня есть другой метод, который принимает массив и превращает его в одну строку, как это 1 3 2 6 2
.
class Turn
def initialize
@rolls = 1
@dice = []
end
def roll
@roll = []
x = 5 - @dice.length
x.times do |i|
@roll[i] = rand(6) + 1
end
@roll # ["1", "3", "2", "6", "2"]
end
def show
@dice # ["1", "3", "6"]
end
def line(something)
temp = ""
something.each do |x|
temp << x + " "
end
puts temp # "1 3 6 " or "1 3 2 6 2 "
end
end
Тогда я хочу иметь возможность объединять методы, чтобы я мог сделать
first = Turn.new
first.roll.line
first.show.line
Однако я действительно не знаю, как это сделать, и я не смог найти, как в Интернете. Я видел, как вернули self
, но я не могу понять, что он делает. Код в методе line
сработает, если я переместу его в другой метод, поэтому проблема в действительности заключается только в цепочках и возвратах.
Если бы кто-то мог не только помочь с кодом, но и с тем, как работает цепочка применительно к возвращаемым значениям и как работает возвращение себя, это было бы здорово.
Спасибо!