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

“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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...