【问题标题】:How to define a ruby array that contains a backslash("\") character?如何定义一个包含反斜杠(“\”)字符的 ruby 数组?
【发布时间】:2014-02-14 02:06:33
【问题描述】:
我想用以下方式在 ruby 中定义一个数组
A = ["\"]
我被困在这里好几个小时了。尝试了单引号和双引号、正斜杠和反斜杠的几种可能组合。唉!!
我也看过这个链接:here
但不明白如何解决我的问题。
除此之外,我需要做的是——
1.逐个字符读取文件(我设法做到了!)
2.此文件包含一个“\”字符
3. 如果我的数组 A 包含这个反斜杠,我想做点什么
A.includes?("\")
任何帮助表示赞赏!
【问题讨论】:
标签:
ruby-on-rails
ruby
regex
arrays
backslash
【解决方案1】:
有些字符很特殊,需要转义。
就像你定义一个字符串时一样
str = " this is test string \
and this contains multiline data \
do you understand the backslash meaning here \
it is being used to denote the continuation of line"
在一个用双引号“”定义的字符串中,如果你需要一个双引号,你会怎么做? “\””,这就是为什么当您在字符串中添加反斜杠时,您会告诉解释器您将使用一些特殊字符,这些字符会被反斜杠转义。因此,当您从文件中读取“\”时,它将被读取作为“\”这个变成一个红宝石字符串。
char = "\\"
char.length # => 1
我希望这会有所帮助;)
【解决方案3】:
您可以使用双引号中的反斜杠来转义反斜杠,例如:
["\\"].include?("\\")