Изменение порядка аргументов в ruby ​​sprintf - PullRequest
1 голос
/ 13 апреля 2010

Можно ли изменить порядок параметров на sprintf?

нравится sprintf(" this is %arg[2] test %arg[1]" , arg1, arg2)

Мне нужно динамически изменить порядок аргументов, чтобы это было возможно с sprintf?

1 Ответ

4 голосов
/ 13 апреля 2010

Да.

irb(main):007:0> arg1 = 'foo'
=> "foo"
irb(main):008:0> arg2 = 'bar'
=> "bar"
irb(main):009:0> sprintf("%3$0.3f this is %2$s test %1$s" , arg1, arg2, Math::PI)
=> "3.142 this is bar test foo"

Формат: %N$fmt, где N обозначает порядковый номер аргумента, а fmt - это то, что вы должны поставить после знака % при обычном использовании sprintf.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...