Ruby中的双引号和单引号包裹字符串的区别

目录:

        导言

        分别使用""和''输出一个字符串

        分别使用""和''输出一个字符串并加上转义字符

        小结

导言:

在Ruby中,包裹字符串可以使用”“和’‘包裹。有的读者认为它们大同小异,毕竟”“和’‘包裹起来的都是一个字符串,只是把它们包裹起来的的字符不一样而已。但事实并非如此,在本章中,我们将会给大家详细讲讲使用”“和’‘包裹字符串的区别。

分别使用""和''输出一个字符串:

我们先来看看一个例子,输出使用”“包裹起来的字符串和使用’‘包裹起来的字符串的效果:

输出使用""包裹的字符串:

print("Hello Ruby")

输出使用''包裹的字符串:

print('Hello Ruby')

我们使用print方法分别输出这两个字符串,执行起来它们的结果无异,都是”Hello Ruby“。

分别使用""和''输出一个字符串并加上转义字符:

但我们一旦在这两个字符串里面的结尾处添加一个转义字符”\n“来表示换行时,我们却得到两个不同的结果。

输出使用""包裹的字符串:

print("Hello Ruby\n")

输出使用''包裹的字符串:

print('Hello Ruby\n')

我们来看看这两个字符串的输出结果:

输出使用""包裹的字符串的结果:

输出结果:Hello Ruby

输出使用''包裹的字符串的结果:

输出结果:Hello Ruby\n

从上文中,使用”“包裹的字符串如有转义字符,转义字符会被转义。但如果我们使用‘’包裹字符串的话,字符串中如有转义字符它不会把转义字符进行转义,而是把转义字符设为字符串的一部分。我们再来看一个例子,我们使用一个变量来存储并输出这两个字符串。

这里我们创建一个存储“”包裹的字符串变量,这个变量叫作“a”,如下图所示:

a = "Hello Ruby\n"

随后我们使用print方法输出。

a = "Hello Ruby\n"
print a

我们再来看看输出结果:

输出结果:Hello Ruby

我们再使用‘’包裹字符串,并按上文以此类推,输出结果。

a = 'Hello Ruby\n'
print a

输出结果:Hello Ruby\n

由此我们发现,上文的例子与直接输出两种字符串的效果无异

小结:

看完了上面的例子,我们可以得出一个结论,使用“”包裹的字符串中的转义字符会被转义,而使用‘’的字符的转义字符是字符串的一部分,它并不会进行转义,而是单单的一个字符串。这就是Ruby中使用""包裹字符串和''包裹字符串的区别。希望这篇文章对您有所帮助。

猜你喜欢

转载自blog.csdn.net/m0_68824353/article/details/126022128