Ruby学习笔记
来源:互联网 发布:网络文明海报设计 编辑:程序博客网 时间:2024/06/05 19:49
1。交互方式运行ruby输入ruby后直接写代码,最后按Ctrl+D代表结束;另外可以用irb(Interactive Ruby)来执行交互编程。运行本地的ruby程序分两步,一用irb load进xxx.rb,二然后运行这个文件中的方法。
2。ri是一种本地命令行工具,用来浏览RDoc文档。
3。方法是通过向对象发送消息唤起调用的,消息中包含方法名和方法可能需要的参数。
4。ruby中得到数字绝对值方法:-123.abs既可,但java和其它语言中则是传给其它函数如:Math.abs(-123);这说明ruby是面象对象的。
5。ruby方法定义和调用是可以不加(),但为了可读和优先级,最好加上()。表达示内插#{name}。
6。全局变量:$xxx;类变量@@xxx;实例变量:@xxx。局部变量、方法参数、方法名必须以小写字母或下画线开始;类名称、模块名称和常量都必须以一个大写字母开始。方法名可以?!=结尾。
7。ruby数组和散列表都用来存储对象,只是所用的键不一样。
8。nil是一个对象,不像别的语言中的null,是只这个对象表示什么也没有的对象。
9。使用语句修饰符相当于把if/while的条件和执行语句益交换了。
10。block是与方法调用放一起的,入在方法调用最后,类似传入方法的参数,可以实现回调。使用yield语句实现回调。yield(xxx,xxx)支持传参数,在block中使用|xxx,xxx|引用参数。例:5.times { puts "a"}
11。ruby中会有许多内置的变量,如$_ 。
12。ruby的构造器为initialize。
13。ruby中已定义的类可以随时修改,并且修改可以反应当已经实例化的对象中?
14。类和子类定义:class Parent [code] end class Sub < Parent [code] end。super关键字用来调用父类中的同名方法。并且ruby中大部分方法都有返回值,因为一个方法的最后一后默认前面加了一个return。def name @name end相当于getXXX,简化方法为attr_reader :name, :age这种方式创类似的建getXXX方法。并且会自动创建冒号后面的变量。def name=(n) @name = n end,既定义一个等号结尾的方法名,能使其出现在赋值操作左侧。简洁方法:attr_writer :name。虚拟方法的概念:就是实例方法名和调用时所用的方法名不同。
15。类变量@@开头,并且必须实用前要实例化。类方法定义方法为类名加点号加方法名,如Song.classMethod。
16。ruby方法访问权限有三种:public,protected和private。方法默认是public的(initialize方法除外,默认为private的);private的方法接收者只能是self。ruby的访问控制是在运行期间确实而非静态判定。
17。变量不是对象,默认的是局部变量。对象复制person.dup,对象冻结person.freeze 。
18。数组用法有a[1,3],a[1...3] = [xxx]等,中间部分自动添nil。
19。执行block传参数时,如果将方法中(不仅仅是方法,还可以是周围的其它环境)的变量传入block块,block操作结果对其产生影响到。block最后一条表达式的值将作为返回值返回给调用的方法。block可做事务处理,也可被用作闭包。
20。迭代方法有each,find,inject,collect。ruby中为内部迭代器,java中为外部迭代器,其实,迭代器本质上是迭代器模式,有内外之分。
21。method(*args) 中*args为可变数组。定义方法时加def method(&action) action.call(self) end则方法调用时会寻找block,也就是说这个方法要和block块配合使用。
22。字符串可以%q,%Q分隔符来实现,还可以用here documents实现。
23。ruby用区间实现序列、条件和间隔。..代表闭合区间,...代表左闭右开区间。区间在内存中被表示为Range对象而不是所有的list,可以用to_a转为list。<=>比较符根据大小返回-1,0,1。succ方法指向区间的下个对象,一个类实现了succ方法和<=>就可以做为区间。区间可以做为条件。区间可以做为间隔,判断一些值是否落入区间内。如(1..10) === 5。
24。查询用的方法通常以?结尾,赋值的用=结尾,危险的方法用!结尾。定义方法时*号表示可变参数;调用方法时*号表示数组展开。方法&表示关联的block会转化为Proc对象作为方法的参数。方法总会返回最后一个表达式的值。
25。ruby并行赋值a,b = 2,3。方法返回多个值不会出错,是以数组形式返回。如:return n,m。
- 【ruby学习笔记】初探ruby
- Ruby语法学习笔记
- Ruby学习笔记(入门)
- watir学习笔记/ruby
- ruby学习笔记一
- ruby学习笔记二
- ruby学习笔记三
- ruby学习笔记四
- ruby学习笔记
- Ruby学习笔记(1)
- Ruby学习笔记
- Ruby 学习笔记 Symbol
- ruby 学习笔记method
- Ruby学习笔记
- ruby学习笔记
- ruby 学习笔记(一)
- ruby 学习笔记(二)
- ruby入门学习笔记
- 虚函数的真相(VC编译器如何实现“virtual ”规则)
- test
- Oracle 登录认证相关
- 求一个分割函数方法的4种方法实例
- Utils
- Ruby学习笔记
- centos6 lamp环境源代码编译
- 写给在工厂上班的同学们
- android平台init.rc脚本修改-[基于x210开发板]
- JAVA操作properties文件
- To与For表“目的”的用法
- 经典SQL行列转换
- iphone——iOS Human Interface Guidelines Tip
- GPS Location