- 浏览: 42423 次
- 性别:
最新评论
-
manneting:
喜欢!很不错!
Ruby 方法定义和使用 -
zqhlove:
run_xiao 写道引用
10. 还有一些小问题没搞清楚,比 ...
Ruby Symbol使用 -
run_xiao:
引用
10. 还有一些小问题没搞清楚,比如:name跟@nam ...
Ruby Symbol使用 -
yours2008:
ruby方法的参数,如何才能够设置成引用的参数,就是在程序内部 ...
Ruby 方法定义和使用 -
icefire:
喜欢JAVA的一类一文件!
Ruby 模块概念
文章列表
jMaki是一个开源的AJAX框架,提供轻量级的模块来创建以JavaScript为中心的AJAX的Web应用程序。这个Web应用程序可以使用Java, Ruby, PHP, 以及Phobos来开发。(Phobos是一个运行在Java平台上的Web应用程序环境, 目前支持JavaScript运行在服务器端的Java平台上,也是java.net上的一个开源软件)。
jmaki呈现在开发者面前的是widgets和CSS. 这些AJAX widgets
一、方法定义:
ruby 代码
def name[([arg [=value],.....][,*varg][,&blockarg])]
body
end
ruby 代码
name -> methodName
constant.methodname
(expr).methodname
1、使用关键字def,方法名必须以一个小写字母开始。可以是重定义的操作符,也可以是个名字。
...
一、Symbol的定义:
Symbol是一个简单对象, 这个对象通过它的名字唯一标识。如:你每次在代码中使用:name,你是要引用一个有名字为name的对象
注意:
1、String 和Symbol两者具有紧密的联系. 每个symbol 都有 ...
ruby使用区间实现了3中不同特性:序列,条件和间隔。
一、序列
在ruby中只用".."和"..."区间操作符来创建序列。两个点的形式是创建闭合的区间(包括右端的值),而3个点的形式
是创建半开半闭的区间(不包括右端的值)。
注意:
1、任何类型的对象都可以构造区间,只要这些对象可以使用它们的<=>操作符来进行比较,同时支持succ方法,返回序列中的下一个对象
2、区间在内部用列表表示,1..100序列被存储为Range对象,它包含对两个Fixum对象的引用。可以通过to_ ...
不同点:
Load:
1、每次执行load的时候,它都会无条件的加载指定的ruby的源文件。
2、使用它可以重新来加载一个在程序开始运行后可能修改的源文件。
require
1、加载指定的文件,且只加载一次
2、require可以加载二进制库
3、require是一条可执行语句-它可能在一个if语句内,或者可能包含的一个刚刚拼合的字符串,搜索路径也可以
在运行时更改。只需将你希望的目录加入到$:数组中。
共同点:
1、两者都可以接受相对或绝对路径。如果指定了一个相对路径(或者一个 ...
模块是一种将方法、类与常量组织在一起的方式。
一、提供命名空间
模块定义了一个命名空间,他是一个砂箱,这样作的目的就是未来防止命名冲突。模块常量的命名和类常量一样,都是以
大写字母开头。模块方法的定义和类方法的定义类似,在方法的前头加上模块名前缀。
模块引用:
1、如果引用的模块在同一个文件中,则直接使用模块操作
2、如果不在同一个文件中,则需要使用require加载被引用模块所在文件。(引用的是完整名称)
模块方法的调用同类方法的引用类似,用模块名加上句点来调用模块方法,使用模块名和两个冒号来引用常量。
二、Mixin
参 ...
Ruby要改变一个对象的内部状态,唯一的简单方式就是调用它的方法。控制对方法的访问,就可以控制对对象访问。Ruby
提供了三种访问控制方式:
public 方法可以被任何人调用,没有限制访问控制。方法默认是public的(除initialize外)
protected 方法只能被定义了该方法的类或其子类的对象所调用。这个家族均可访问
private 方法不能被明确的接收者调用,其接受者只能self。这个私有方法只能在当前对象的上下文中被调用。
注意:访问控制是在程序运行的时候动态判定的,而非静态判定,只有当代码试图执行受限制的方 ...
一、类属性声明
一个对象的外部可见部分被称其为属性。ruby通过对象的实例变量来表示对象的内部状态,即,属性。既然是对外部可见的。Ruby中,实例变量无法直接为对象外使用,只能通过对象定义的操作方法访问。同理,实例变量也不能变成public变量,同样是通过方法访问
那就是可以通过某种方式读取和修改的。Ruby中是通过定义方法来访问属性。有两种方法方式:
1、直接定义类属性的方法
ruby 代码
#这个就是定义一个对象的实例变量name,作为Test的属性
class Test
...
一、普通方式的继承
Ruby只支持单继承
ruby 代码
class Child < Father
......
end
Object是所有类的始祖,并且Object的实例方法对ruby的所有对象都是可用的。
super的使用:
1、在initia ...
一、从类中创建对象
类Class定义的实例方法Class#new将创建接受者对应的类的对象。这个是通过调用classexpr.allocate来完成的。可以重载 这个方法,但是必须返回正确的类的对象。然后调用新创建的对象的initialize,并将传递给new的参数传递给initialize。
注意:
1、如果类定义中重载了类方法new,并且new没有调用super,那么将无法创建该类的对象,并调用new将返回nil
2、通常initialize应当调用super,用于对父类进行初始化。
二、类和对象之间的交互
1、简单对象
如 ...