Mar*_*rco 8 php ruby string ruby-on-rails
在PHP中,以下内容允许我创建一个字符串而不必转义引号.
$string = <<<EOD
',. whatever <"",'
EOD;
echo $string;
Run Code Online (Sandbox Code Playgroud)
Ruby/Rails中有类似的东西吗?
Mik*_*ffe 11
Ruby heredocs几乎相同,只有很小的变化,它们有两种形式:
1)结尾的heredoc必须在一行开头:
string = <<EOD
',. whatever <"",'
EOD
puts string
Run Code Online (Sandbox Code Playgroud)
2)结尾的heredoc可以在空格之前:
string = <<-EOD
',. whatever <"",'
EOD
puts string
Run Code Online (Sandbox Code Playgroud)
cch*_*son 10
这称为此处doc.从链接,ruby方式将是:
puts <<-GROCERY_LIST
Grocery list
------------
1. Salad mix.
2. Strawberries.*
3. Cereal.
4. Milk.*
* Organic
GROCERY_LIST
Run Code Online (Sandbox Code Playgroud)
结果:
$ ruby grocery-list.rb
Grocery list
------------
1. Salad mix.
2. Strawberries.*
3. Cereal.
4. Milk.*
* Organic
Run Code Online (Sandbox Code Playgroud)
Ale*_*lex 10
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
Run Code Online (Sandbox Code Playgroud)
另一个这里的doc语法不要求你使用破折号,但它确实要求"end of here doc"分隔符在第1列(或者在它之前没有空格).
<<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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3082 次 |
| 最近记录: |