我想在
Ruby heredoc中迭代一个数组.
<<-BLOCK Feature: User logs in In order to post content As an user I want to log in << Here i want to iterate scenarios >> BLOCK
“scenario”是我想要循环的数组.对于我要打印的每个元素:
Scenario: #{scenario} Given When Then
例如,如果“scenario”包含:
scenarios[0] = "User successfully logs in" scenarios[1] = "User Failed to log in"
我希望heredoc字符串是:
<<-BLOCK Feature: #{feature} In order to #{in_order_to} As #{as} I want #{i_want} Scenario: User successfully logs in Given When And Scenarios: User Failed to log in Given When And BLOCK
如何在Ruby heredoc中进行迭代?
解决方法
你可以这样做,但我不确定它是最可读的方法:
s = <<-BLOCK Feature: User logs in In order to post content As an user I want to log in #{scenarios.map{|x| <<-INNERBLOCK Scenario: #{x} Given When Then INNERBLOCK }} BLOCK