Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby irb中单引号转义的怪异行为_Ruby - Fatal编程技术网

Ruby irb中单引号转义的怪异行为

Ruby irb中单引号转义的怪异行为,ruby,Ruby,输出为I身高6'2英寸 但在irb中 如果我输入这个字符串,我身高6英尺2英寸,没有输入 我身高6英尺2英寸 注意转义字符在输出中的位置 为什么转义字符的位置发生了更改?因为在IRB中,“我身高6英尺2英寸”。正在进行检查,这与放置“我身高6英尺2英寸”相同。在不同类型的引号中转义了不同类型的引号字符 在单引号中,单引号需要转义以区别于字符串的结尾,但双引号不需要 在双引号中,不需要转义单引号,但需要转义双引号 在我上面的代码中,原始代码转义字符在之前,但IRB在“之前打印它。所以IRB输出与

输出为
I身高6'2英寸

但在irb中 如果我输入这个字符串,我身高6英尺2英寸,没有输入 我身高6英尺2英寸

注意转义字符在输出中的位置


为什么转义字符的位置发生了更改?

因为在
IRB
中,“我身高6英尺2英寸”。正在进行检查,这与
放置“我身高6英尺2英寸”相同。
在不同类型的引号中转义了不同类型的引号字符

  • 在单引号中,单引号需要转义以区别于字符串的结尾,但双引号不需要
  • 在双引号中,不需要转义单引号,但需要转义双引号

在我上面的代码中,原始代码转义字符在
之前,
但IRB在
之前打印它。所以IRB输出与
输出不完全相同。IRB使用的是#inspect,而不是#to#。@WayneConrad Yes。谢谢你把它指给我看。。非常有用。
puts 'I am 6\'2" tall'