heredoc里面的Ruby语法?

前端之家收集整理的这篇文章主要介绍了heredoc里面的Ruby语法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在 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@H_404_3@ 
 

“scenario”是我想要循环的数组.对于我要打印的每个元素:

Scenario: #{scenario}
  Given
  When
  Then@H_404_3@ 
 

例如,如果“scenario”包含:

scenarios[0] = "User successfully logs in"
scenarios[1] = "User Failed to log in"@H_404_3@ 
 

我希望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@H_404_3@ 
 

如何在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
@H_404_3@

猜你在找的Ruby相关文章