以下是2种表达方式一样. if expression code end if expression then #推荐这种形式 code end expression的值不是false或nil,则code块将被执行. 需要注意:1)围绕expressions的圆括号是可选的(而且通常都不用),ruby使用换行符.分号或者关键字then对条件表达式和后续的内容进行分隔 2) 必须以end 作为结束. 例子 if data #if array exist data << x #append x to…
4.6.9 范围  Flip-Flops:  ..和... ..和... 操作符不是基于方法的,无法重定义.(优先级比较低) x+1 .. x*x   #可以认为是x+1 至 x*x 的范围 因为操作符的值是一个Range对象,  下面3种表达方式都是一样的 1)  x..y 2)Range.new(x,y) 3) Range.new(x,y,true) 表达式 Flip-Flops的值可以是ture/false布尔值 ..与...的区别: 当..filp-flops为true时,它返回true…
对属性和数组元素的赋值 o.m + = 1  ===>o.m = (o.m()+ 1)  # 对 o.m()这个方法的结果+1 对数组元素的赋值也是通过 方法调用来完成. 0.[] = 1 ===>o.[] = o.[] +1 #对o实例对象的[]方法,的结果+1 如果一个对象o定义了一个接受2个参数的.名为[]=的方法 o.[x] = y ===> 那么   o.[] = (x, y) 如果一个对象具有一个接受三个参数的.名为[]=的方法,那么方括号中的值,会被当作索引 o.[x,y]…
4.6 操作符 了解优先级很重要 位移操作符 (0b1011)<< 1       #   ==> "10110"      11 << 1 = 22 (0b10110)>> 2     #   ==> "101"      11 << 1 = 5 追加操作符 一些String .Arrray.还有一些IO库Queue.Logger  都支持追加操作符 message_1 = "hello&quo…
安装完 ruby ri irb ruby-devel 1. 先来个简单的,写个helloworld  给新手们 (terminal中,# 代表root权限,$ 代表用户权限, 前面的就不写了.) # vim hello.rb puts "hello world" 检查下语法# ruby -c hello.rb 编译 # ruby hello.rb 结果:hello world 2.好了开始说点有营养的了 创建2个文件,如下 main.rb #文件名main.rb load "…
解应用和自增组合使用的理解 由于后自增操作的优先级高于解引用操作,因此 *iter++ 等效于*(iter++).子表达式 iter++ 使 iter 加 1,然后返回 iter 原值的副本作为该表达式的结果.因此,解引用操作 * 的操作数是 iter 未加 1 前的副本.…
表达式由一个或多个运算对象组成,对表达式求值返回结果. 字面值和变量是最简单的表达式 把运算符和运算对象组合可得到复杂表达式. 4.1 基础 4.1.1 基本概念 一元运算符作用于一个对象,如取地址符&.解引用符* 二元运算符作用于两个对象,如==.* 三元运算符?:. 函数调用也是特殊的运算符,它运算对象数量没有限制. 组合运算符和运算对象 理解含有多个运算符的复杂表达式,要先理解运算符的优先级.结合律,以及运算对象的求值顺序. 运算对象转化 常见的是整型提升,如小整型(bool.char.s…
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第四章:Direct 3D初始化 学习目标 对Direct 3D编程在3D硬件中扮演的角色有基本了解: 理解COM在Direct 3D中扮演的角色: 学习基本的图形学概念,比如存储2D图像.页面切换,深度缓冲.多重纹理映射和CPU与GPU如何交互: 学习如何使用性能计数函数读取高精度时间: 学习如何初始化Direct 3D: 熟悉本书Demo通用的应用框架中的基本结构…
<深入Java虚拟机学习笔记>- 第19章 方法的调用与返回…
<深入Java虚拟机学习笔记>- 第16章 控制流…