LINUX.ORG.RU

Интерполяция строк

 


0

3

Приветствую.
Допустим, есть строка blah. Я могу вставить значение в неё таким образом:

blah = "You have %{a}"
blah % { :a => 'won' }
#=> You have won
Например, мне даётся строка, в которую надо вставить значения в зависимости от некоего параметра:
blah = "You have %{a} and {b($opt=some opt)}"
Как из второй строки получить этот злополучный "($opt=some opt)"? Если я пробую:
blah % { :a => 'won', :b => 'a kitten' }
то я получаю KeyError, Буду признателен за помощь.


А что должно получиться?

special-k ★★★★
()
Ответ на: комментарий от Deleted

Суть как раз в том, что мне нужно каким-то образом получить это "($opt=some opt)" для дальнейшего использования, важный момент.

ffomg
() автор топика
Ответ на: комментарий от Deleted

Да это просто одна из задачек на руби, не из реальной практики. То, что идет после $opt, нужно извлечь и передать методу. Дана только эта строка. Я думаю, что просто не знаю нужного синтаксиса или метода для этого.

ffomg
() автор топика
Ответ на: комментарий от ffomg

А где ты тут что-то извлекал? % форматирует строку.

Может ты хотел регулярки? (ну или какая там у тебя версия)

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.