1.3Ruby语言的非操作符(Nonoperator)和操作符(Operator)

非操作符

Ruby语言包括11个非操作符:圆括号(( ))、方括号([ ])、花括号( { })、圆点(.)、逗号(,)、分号(;)、冒号(:)、双冒号(::)、箭头(=>)、星号(*)、与(&)、小于(<)。

操作符

操作符,又称为运算符。有一个操作数的操作符称为一元操作符,有二个操作数的操作符称为二元操作符。

1.一元操作符

+、-、~、!
#对应方法名
+@、-@、~@、!@
class Point
  .
  .
  .
  def  +@ 
    dup         #返回自己的副本
  end

  def -@ 
    self.class.new(-x,-y)   #颠倒x、y各自的正负
  end

  def ~@ 
    self.class.new(-y,x)    #使坐标翻转90度
  end
end

point = Point.new(3, 6)
p +point  #=> (3, 6)
p -point  #=> (-3, -6)
p ~point  #=> (-6, 3)

2.求幂操作符

**

3.算术操作符

+、-、*、/、%

4.赋值操作符

#部分常见赋值操作符
&&=、&=、||=、|=、^=、<<=、>>=、+=、-=、*=、/=、%=、**=、=

5.移位和追加操作符

类Fixnum和Bignum定义了<<和>>移位操作符。<<还经常被用于追加操作符,String、Array及IO类都定义了<<追加操作符。

message = "hello"     #字符串
messages = []         #空数组
message << " world"   #添加右侧内容至message字符串
messages << message   #添加message字符串至messages数组
STDOUT << message     #打印message内容至标准输出流

6.位补、并、 交操作符

~、&、|、^

7.比较操作符

<、<=、>、>=、<=>

8.相等性操作符

==、!=、=~、!~、===

9.布尔操作符

&&(与)、||(或)、!、and、or、not

10.defined?操作符

defined?是一个一元操作符,它测试其操作数是否已经被定义过了。

15.逻辑操作符

条件1 || 条件2 || 条件3  #当条件中的任何一个为真时,即返回真值,按逻辑顺序从左往右运算

16.条件操作符

条件 ? 表达式1 : 表达式2
a = 1
b = 2
max = (a > b) ? a : b
p max        #=>2

上面的表达式与下面使用if语句的表达式是等价的。

if 条件
  表达式1
else
  表达式2
end

条件操作符又称为三元操作符,虽然条件操作符写法比较简洁,但是如果表达式过于复杂就会使程序变得难懂,因此建议不要滥用此写法。

17.范围操作符

范围操作符有..和…两种。x..y和x…y的区别在于,前者的范围是x到y,而后者的范围是从x到y的前一个元素。

5..10   #=>5,6,7,8,9,10
5...10  #=>5,6,7,8,9

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/ruby/rubylang/1516.html

(1)
上一篇 2020年7月2日 14:10
下一篇 2020年7月4日 04:00

相关推荐

  • 1.9Ruby语言的块(Block)以及带块的方法

    块 又被称为 代码块 ,位于do~end(包括do和end关键字)或者花括弧{~}(包括花括弧)中间的代码就是 代码块 。代码块不可单独存在,只有出现在一个方法调用之后才是合法的。 程序的控制流首先执行方法,当遇到yield时,控制流会从方法转移到那个与方法调用相关联的代码块中,当程序执行完代码块之后,方法重新获得控制…

    Ruby语言教程 2020年7月9日
    01.0K0
  • 2.1Ruby语言的模块(Module)

    模块是方法、常量、类变量的集合。模块遵循标识符的命名规则,一般PascalCase命名法。 模块不能被实例化 模块也不能被子类继承 模块的定义 场景一:混入(mixin) 在定义类时使用include,模块中的方法、常量、类变量就都能被类引用。 像上述代码那样,虽然有点类似于类的继承,但mix-in可以更加灵活地解决下…

    Ruby语言教程 2020年8月1日
    07070
  • 1.2Ruby语言的标识符(Identifier)和关键字(Keyword)

    标识符 标识符由字母、数字、下划线组成,但是不能以数字开头。字母区分大小写。 命名约定 保留关键字

    Ruby语言教程 2020年7月2日
    01.1K0

发表回复

登录后才能评论