Ruby / Rails中是否有<<< EOD?

在PHP中,以下内容允许我创建一个字符串而不必转义引号。

$string = <<<EOD ',. whatever <"",' EOD; echo $string; 

Ruby / Rails中有类似的东西吗?

Ruby heredocs几乎相同,只有很小的变化,它们有两种forms:

1)结尾的heredoc必须在一行开头:

 string = < 

2)结尾的heredoc可以在空格之前:

 string = <<-EOD ',. whatever <"",' EOD puts string 

Ruby通过提供两种类型的doc语法来支持多行字符串。 第一种语法使用和附加破折号,但允许您缩进“end of here doc”分隔符(示例中为“eos”)。

 <<-eos Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. eos 

另一个这里的doc语法不要求你使用破折号,但它确实要求“end of here doc”分隔符在第1列(或者在它之前没有空格)。

 < 

这称为此处doc 。 从链接,ruby方式将是:

 puts <<-GROCERY_LIST Grocery list ------------ 1. Salad mix. 2. Strawberries.* 3. Cereal. 4. Milk.* * Organic GROCERY_LIST 

结果:

 $ ruby grocery-list.rb Grocery list ------------ 1. Salad mix. 2. Strawberries.* 3. Cereal. 4. Milk.* * Organic 

它被称为heredoc,它在Ruby中是<

你可以这样做

 string = < 
 output = <<-TEXT my text block TEXT 

他们说什么