- 浏览: 83281 次
- 性别:
最近访客 更多访客>>
最新评论
-
Bernice_liu:
谢谢分享,受益匪浅,适合我——初学者
Ruby语言中文教程all in one -
何枫abc:
怎么感觉Ruby有点像C!!!
3.5 标识名和变量的作用域 3.6 类库 3.7 数据类型 -
何枫abc:
谢谢了!!!你写的很好,现在我正在学Ruby!!!
第二章 运行环境 -
yangzhihuan:
正想知道ruby是怎么样生成像javadoc那样的文档,多谢了 ...
3.1 注释与分行 -
whisper:
从lambda演算的角度说我们并不关心一个东西到底是什么,而只 ...
变量一定要有类型吗(一)
Ruby 基本的赋值用 “ = ” 来完成,就像 E3.8-1.rb 如下示例:(在不产生歧义的地方,我用 # => 表示答案)
ruby 代码
- a = 1 ;b = 2 + 3 # => a=1 ,b=5
- a ,b = b ,a # => a=5 ,b=1
- a = b = 1 + 2 + 3 # => a=6 ,b=6
- a = (b = 1 + 2) + 3 # => a=6 ,b=3
- x = 0 # => x=0
- a,b,c = x, (x+1), (x+2) # => a=0 ,b=1,c=2
Ruby 的条件运算符比 Java 更加复杂,看例子 E3.8-1.rb:
== (等于)
!= (不等于)
|
比较两个对象的值是否相等 ,返回 true, flase
a=1; b=1.0; a==b # => true
|
eql?
|
比较两个对象的值、类型是否相等,返回 true, flase
a=1; b=1.0; a.eql?(b) # => flase(a为整数型,b为浮点型)
|
equal?
|
比较两个对象在内存中地址是否相同,返回 true, flase
a=1.0; b=1.0; a.equal?(b) # => flase
a=1.0; b=a ; a.equal?(b) # => true
|
<=>
|
比较两个对象的大小,大于、等于、小于分别返回1,0,-1
"aab" <=> "acb" # =>-1 (第二个 a 的 ASCII 码小于 c)
[5] <=> [4,9] # => 1 (第一个元素 5 > 4)
|
===
|
右边的对象是否在左边区间之内,返回 true, flase
puts (0..9)=== 3.14 # =>true
puts ('a'..'f')=== 'c' # =>true
|
=~(匹配)
|
用来比较是否符合一个正则表达式,返回模式在字符串中被匹配到的位置,否则返回 nil
|
!~ (不匹配)
|
断言不符合一个正则表达式,返回 true, flase
|
<= < > >=
|
小于等于 小于 大于 大于等于
|
完整阅读,请看我写的 Ruby语言中文教程all in one
发表评论
-
8.4 迭代器、代码块、闭包
2007-02-13 06:25 1756先看一句代码: ruby 代码 (1..9). ... -
8.3 正则表达式
2007-02-13 06:13 1554一本入门小书,不想涉及正则表达式,但是正则表达式与Ruby语言 ... -
8.2 再说字符串
2007-02-13 06:07 1293一. 生成一个字符串 字 ... -
8.1 再说数组
2007-02-13 06:03 1421一. 建立一个数组 ruby 代码 #E8.1- ... -
7.4 require 和 load
2007-02-13 05:59 1352程序 E7.3-1.rb中先写了Me模块,然后include ... -
7.3 糅和(Mix-in) 与多重继承
2007-02-13 05:55 1802糅和,也译作混合插入,也许就称作 Mix-in 比较合适。 现 ... -
7.1 模块 7.2 命名空间
2007-02-13 05:50 22397.1 模块 我们常常把许 ... -
6.5 访问控制
2007-02-13 05:43 1145在Ruby里,要读取,或是改变对象的属性,唯一的途径是调用对象 ... -
6.4 单例方法
2007-02-13 05:16 1037同一份设计蓝图(类),不同的实例对象,可以表现出不同的行为特征 ... -
6.3 实例变量、类变量、类方法
2007-02-13 05:28 2262学习编程的过程,就是深化理解变量的过程。在面向对象编程中也不例 ... -
6.2 增强父类方法
2007-02-13 04:39 994如果我们只是想增强父类的方法,而不是完全地替代它,就可以用关键 ... -
6.1 重载?重写
2007-02-13 04:11 1919在Java 中,重载(overload)和重写(overrid ... -
5.5 一些编码建议
2007-02-13 03:37 1103这里不是 Ruby语言的编 ... -
5.4 蓝图可以改变吗? ——动态语言
2007-02-13 03:28 769Ruby 是动态语言,你可以改变 Ruby 程序的结构,功能, ... -
5.3 详解变量—— 动态类型
2007-02-13 03:22 1131变量是什么?变量有哪些特征呢?学习编程的过程,就是深化理解变量 ... -
5.1 为什么是Ruby? 5.2 Ruby会长久么?
2007-02-13 03:16 10055.1 为什么是Ruby? 现 ... -
4.5 多态
2007-02-13 03:07 790不同的子类继承一个父 ... -
4.4 继承
2007-02-13 03:04 827如果我们要写一个学生 ... -
4.3 封装
2007-02-13 02:53 924让我们来定义一个类,类名是Person,类名首字母要大写;属性 ... -
4.1 两种思维方式 4.2 对象
2007-02-13 02:47 9254.1 两种思维方式 人们 ...
相关推荐
5.6_赋值运算符|Python的变量与运算符|Python3.8入门_&_进阶_&_原生爬虫实战完全解读
例如,`if (x := expr) > 0:`,这样可以减少代码行数,提高代码效率,尤其是在处理循环和条件判断时。 4. 路径操作函数: 标准库中的`os`模块增加了`os.PathLike`接口,使得可以使用类似`pathlib.Path`的对象进行...
快速理解Python3.8新特性: 海象运算符、 f-string、 强制位置参数 (1)海象运算符 其提出主要用于解决以下情况:使代码变得更简洁以及提高代码的执行效率。海象运算符的写法为 (:=),而“海象”运算符的命名也...
1. **赋值表达式(walrus operator)**: Python 3.8引入了新的赋值运算符`:=`,允许你在条件语句或表达式中直接赋值。例如,`x = (y := 5)`,这将同时赋值给`y`并返回`y`的值给`x`。 2. **位置只有参数(Positional...
在 Python 3.8 中,引入了增强型赋值运算符,例如 `:=`(walrus 操作符)。这个新特性允许在条件表达式中直接赋值,减少了代码行数并提高了可读性。例如,`x := y if condition else z` 可以同时检查条件并为 `x` ...
2.7 运算符和优先级:包括算术、比较、赋值、逻辑、位、成员和身份运算符,以及它们的运算优先级规则。 **第三章:列表、元组和字典的基本操作** 本章详细介绍了列表、元组和字典的各种操作,如添加、删除元素,...
它引入了"walrus operator"(:=),这是一种新的赋值运算符,可以在表达式中直接进行赋值操作,简化了某些场景下的代码。例如,在if语句中可以这样使用:`if (x := func()) is not None:`,这使得在条件检查的同时也...
5. **基础语法**:Python的基础语法包括程序结构、输入输出、变量、标识符与保留字、简单数据类型、结构数据类型、运算符和优先级等。程序结构中,理解分层和换行问题对于编写清晰的代码至关重要。 6. **数据类型**...
1. **赋值表达式(walrus operator)**: Python 3.8引入了新的赋值运算符 `:=`,允许在条件表达式中进行赋值操作,这在处理复杂的逻辑或函数定义时特别有用。 2. **位置只有元组参数(Position-only arguments)**:...
此外,Python 3.8引入了一种新的赋值运算符,称为“海象运算符”( walrus operator `:=`)。这个运算符允许在表达式内部为变量赋值,如`if (n := len(a)) > 10:`。在这个例子中,它会计算列表a的长度,并将结果赋给...
1. **赋值表达式(Walrus Operator)**: `:=` 运算符允许在条件语句和循环中直接赋值,减少了代码的冗余。 2. **类型注解改进**: 提供了更多的类型提示功能,如类型别名、泛型和类型变量,增强了代码的可读性和静态...
此外,在复杂的循环和条件判断中,赋值表达式也能够帮助开发者编写出更为简洁的代码。不过要注意的是,使用赋值表达式需要仔细考虑代码的可读性,避免过度简化导致代码难以理解。 2. 仅位置参数(Positional-Only ...
3. ** walrus operator(:=)**:引入了新的运算符,用于在条件语句中赋值和测试,如`if (x := expression):`。 4. **类型注解改进**:支持对类方法、异步方法和生成器进行类型注解。 5. **优化的字符串解析**:`str...
1. **walrus运算符(:=)**:Python3.8引入了一个新的赋值运算符"walrus operator",即`:=`。这个运算符可以在条件表达式中进行赋值操作,简化了某些场景下的代码,比如在循环中检查并更新变量,或者在函数调用中...
- **3.9 赋值运算符和赋值表达式** - 赋值运算符用于将一个值赋给一个变量。 - 除了基本的赋值运算符 `=` 外,还有复合赋值运算符如 `+=`, `-=` 等。 - **3.10 逗号运算符和逗号表达式** - 逗号运算符 (``,``) ...
3.3 赋值运算符 3.4 逻辑运算符 3.5 位运算符 3.6 成员运算符 3.7 身份运算符 3.8 运算符优先级 4 判断语句 4.1 单分支 4.2 双分支 4.3 多分支 4.4 三元运算符 4.5 练习 5 循环语句 5.1 for 循环 5.2 while循环 5.3 ...
3.9 赋值运算符和赋值表达式 赋值运算符(=)用于将右边的值赋给左边的变量,如x = y + z。 3.10 逗号运算符和逗号表达式 逗号运算符(,)用于顺序执行多个表达式,其结果为最后一个表达式的值。 总结来说,C语言的第...
3.8 赋值运算符 包括基本的赋值运算符`=`, 以及复合赋值运算符如`+=`、`-=`、`*=`、`/=`、`%=`,它们同样遵循C语言的规则。 3.9 其他运算符 3.9.1 逗号运算符 `(,)` 逗号运算符可以用于串联多个表达式,如`var a = ...