Как часть моего обучения ruby, я хотел бы назвать метод size
в пределах rjust
, передавая его в качестве первого параметра. Не знаете, как это сделать.Как использовать вызовы методов в пределах rjust?
См., Например,
2.to_s(2) #=> returns "10"
Теперь я хотел бы использовать rjust
на 10
проходящей :size + 5
в качестве первого аргумента, чтобы получить *****10
2.to_s(2).rjust(how_to_get_size_of_10_and_add_5, "*") #=> dont know how to.
Безуспешно пытался ниже:
2.to_s(2).tap{|s| rjust(s.size+5,"*")} #=> ...undefined method `rjust' for main:Object
2.to_s(2).rjust(send(:size)+5,"*") #=> ... undefined method `size' for main:Object
Я пытаюсь понять, как ссылаться и осуществлять метод на части цепочки вызовов методов. В моем примере я пытаюсь позвонить rjust
по телефону 2.to_s(2)
и в пределах rjust обратиться к size
от 2.to_s(2)
. Извините, если мое письмо неуклюж
Непонятно, что вы пытаетесь сделать. Что такое «размер предыдущего результата»? – sawa
Мне кажется, что вы просто хотите добавить 5 звездочек к строке? 'rjust' - неправильный инструмент для этого. –
То, что вы пытаетесь сделать, - это правильное выравнивание строки до длины 'size + 5'. Это эквивалентно простому добавлению пяти '*', поэтому вы можете просто сделать '' ***** # {2.to_s (2)} "' возможно даже '('*' * 5) + 2.to_s (2) ' –