Ruby:%q,带字符串[大小写]

Ruby:%q,带字符串[大小写],ruby,string,Ruby,String,我遇到了这句话: at = @seq.slice(@seq.length - 2, 2).count(%q[at]) 其中@seq是一个字符串。我知道slice和%q是如何工作的,但我不知道在处放置一个变量(我们在这里定义它)作为[]的参数,在%q%q之后使用成对分隔符与单引号字符串类似。换句话说,%q[at],或者%q!在或%q{at}都等同于'at' %q[at] # => "at" 另外,%Q的工作原理类似,但类似于双引号字符串。%Q带有成对分隔符的字符串类似于单引号字符串。换句

我遇到了这句话:

at = @seq.slice(@seq.length - 2, 2).count(%q[at])

其中
@seq
是一个字符串。我知道
slice
%q
是如何工作的,但我不知道在
处放置一个变量
(我们在这里定义它)作为
[]
的参数,在
%q

%q
之后使用成对分隔符与单引号字符串类似。换句话说,
%q[at]
,或者
%q!在
%q{at}
都等同于
'at'

%q[at]
# => "at"

另外,
%Q
的工作原理类似,但类似于双引号字符串。

%Q
带有成对分隔符的字符串类似于单引号字符串。换句话说,
%q[at]
,或者
%q!在
%q{at}
都等同于
'at'

%q[at]
# => "at"

另外,
%Q
的工作原理类似,但类似于双引号字符串。

这是一个非常冗长的代码

  • @seq.length-2
    给出
    @seq
    中倒数第二个字符的索引
  • @seq.slice(@seq.length-2,2)
    给出
    @seq
    中的最后两个字符
  • 对其应用
    count(%q[at])
    返回
    %q[at]
    (即
    “at”
    )中出现的字符数,这对
    “a”
    “t”
    进行计数。由于只有两个字符,它可能是
    0
    1
    ,或
    2

这是一个非常冗长的代码

  • @seq.length-2
    给出
    @seq
    中倒数第二个字符的索引
  • @seq.slice(@seq.length-2,2)
    给出
    @seq
    中的最后两个字符
  • 对其应用
    count(%q[at])
    返回
    %q[at]
    (即
    “at”
    )中出现的字符数,这对
    “a”
    “t”
    进行计数。由于只有两个字符,它可能是
    0
    1
    ,或
    2

你什么也得不到<代码>%q
[]
不能单独工作<代码>%q[]
是字符串的单一文字符号。另外,
%q[]
中的
at
不是变量<代码>%q[at]
只是一种在“上写
”的冗长方式。谢谢,我知道你现在什么都没有得到<代码>%q
[]
不能单独工作<代码>%q[]是字符串的单一文字符号。另外,
%q[]
中的
at
不是变量<代码>%q[at]只是在“写
”的一种冗长的方式。谢谢,我现在明白了,好吧,所以它同时计算“a”和“t”?很高兴知道,从你之前的解释来看,我认为它“在”@maciek算上了,我之前的解释是错误的。我更改了它。可能类似于@seq[-2..-1]。count('at')更可读?严格地说,
%q[at]
相当于
'at'
,而不是
“at”
。莫克,那么它同时计算“a”和“t”?很高兴知道,从你之前的解释来看,我认为它“在”@maciek算上了,我之前的解释是错误的。我更改了它。可能类似于@seq[-2..-1]。count('at')更可读?严格地说,
%q[at]
相当于
'at'
,而不是
“at”
。M