Ruby中的三重单引号与三重双引号

为什么你可以使用'''代替""" ,如学习Ruby艰难的方式,第10章学习练习 ?

Ruby中没有三重引号。

并置的两个String文字被解析为单个String文字。 所以,

 'Hello' 'World' 

是相同的

 'HelloWorld' 

 '' 'Hello' '' 

是相同的

 '''Hello''' 

是相同的

 'Hello' 

三重单引号与三重双引号没有特殊规则,因为没有三重引号。 规则与报价简单相同。

我假设作者混淆了Ruby和Python,因为三重引用在Ruby中不会像作者想象的那样工作。 它只是像三个单独的字符串( '' '' '' )一样工作。

对于多行字符串,可以使用:

 %q{ your text goes here } => "\n your text\n goes here\n " 

%Q{}如果您需要内部字符串插值。

三引号'''与单引号'相同,因为它们不插入任何#{}序列,转义字符(如“\ n”)等。

三重双引号(ugh) """与双引号相同"因为它们执行插值和转义序列。

这是在您链接的同一页面上。

三重引用的版本""" ''''允许使用多行字符串……就像单引号'" ,所以我不知道为什么两者都可用。