%运算符在N%2中的Ruby中做了什么?

akk*_*dio 25 ruby syntax

if counter % 2 == 1 我试图解码这一行 - 这是一个Rails项目,我试图弄清楚%这个if语句的作用.

Dan*_*uis 48

%运算符.结果counter % 2是剩下的counter / 2.

n % 2通常是确定数字n是偶数还是奇数的好方法.如果n % 2 == 0,数字是偶数(因为没有余数意味着数字可以被2整除); 如果n % 2 == 1,数字是奇数.

  • @Eric好我不能谈论我没用过的语言,这个问题是关于Ruby的... (13认同)

mee*_*ern 39

回答问题"%符号在Ruby中的含义是什么?" 它是:

1)模二元运算符(如前所述)

17 % 10 #=> 7 
Run Code Online (Sandbox Code Playgroud)

2)替代字符串分隔符标记

%Q{hello world} #=> "hello world"
%Q(hello world) #=> "hello world"
%Q[hello world] #=> "hello world"
%Q!hello world! #=> "hello world"
# i.e. choose your own bracket pair
%q(hello world) #=> 'hello world'
%x(pwd)         #=> `pwd`
%r(.*)          #=> /.*/
Run Code Online (Sandbox Code Playgroud)

3)字符串格式运算符(Kernel :: sprintf的简写)

"05d" % 123 #=> "00123"
Run Code Online (Sandbox Code Playgroud)

  • +1是唯一提到字符串格式运算符的人.这是我正在寻找的特殊答案. (8认同)