Ruby零碎笔记 飞机上阅读pdf的笔记,因为不联网,内容不多而且比较零散,以tips的形式记录 tips 查看当前作用域的变量 puts local_variables ruby中方法传递参数时,括号是可选的 脚本开始运行时,main对象会被自动创建,其他内容都包含在main内部.用self可以查看当前属于哪个对象的作用域 字符串中,单括号比多括号高效 多行语句用\作为分行符 在ruby中,除了false,nil是false,其他全都是true(0和''都是true) ruby执行shell命…
Ruby学习笔记4: 动态web app的建立 We will first build the Categories page. This page contains topics like Art, Home & Living, and Kids, so our users can browse through categories and find what they like. Each Category in our site will need to store information…
ruby学习笔记-puts,p,print的区别 共同点:都是用来屏幕输出的. 不同点:puts 输出内容后,会自动换行(如果内容参数为空,则仅输出一个换行符号):另外如果内容参数中有转义符,输出时将先处理转义再输出p 基本与puts相同,但不会处理参数中的转义符号print 基本与puts相同,但输出内容后,不会自动在结尾加上换行符 1 2 3 4 5 6 7 s = "aaaa\nbb\tbb"   p s p "****************" puts s…
Ruby入门笔记 一切皆为对象 “Hello”.length 方法 定义:def开头 end结尾 命名一般采用下划线分隔单词…
以下是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]…
安装完 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 "…
ruby是一门非常纯粹的面向对象的语言:所有值都是对象,而且没有基本类型(primitive type)和对象类型的区别,这一点不同于其他语言.在Ruby中,所有对象都继承一个Object类,而且共享那些定义于此类中的方法. 对象引用object references 当我们在ruby中使用对象时,其实是在操作对象的一个引用,而非对象本身.当我们将一个值赋值给一个变量时,我们并没有将一个对象copy到该变量,而是在此变量中存储了一个指向那个对象的引用.下面代码可以说明这点: s = "Ruby&…
赋值: ruby支持并行赋值,即允许在赋值表达式中出现多余一个值和多于一个的变量: x,y=1,2a,b=b,ax,y,z=[1,2,3] (python同样可以正常上面的语句). Methods in Ruby are allowed to return more than one value, and parallel assignmentis helpful in conjunction with such methods. For example:# Define a method to…