《ruby way之OOP之一》的相关内容
相关讨论
如何用module_eval向class中添加instance variable
尝试用类似has_many的方法,用class method 在类中添加代码。 module_eval只能在class 级别操作代码。
可以用module_eval 添加 method, class variable, 但是instance variable 就是不知道怎么添加?
by jack 2007-08-24 浏览 (2390) 回复 (17) 关键字:
Rails源码研究之ActionController:十,pagination
1,action_controller\pagination.rb:
module ActionController
module Pagination
def paginate(collection_id, options={})
Pagination.validate_options!(collection_id, options, true)
...
by hideto 2007-06-27 浏览 (2788) 回复 (7) 关键字: actioncontroller pagination 源码
慎用类变量 - 实例变量靠谱量又足
请各位看官先阅读potian大牛图文并茂的经典贴: Ruby 单件类
http://www.javaeye.com/topic/20352
既然类也是Object,也可以有实例变量(instance variable),则在类上的实例变量跟类变量(class variable)不就一样了?
举例说明 类上的实例变量 :
tip1: ruby对外暴露的是只能是方法,不能是变量。
tip2: cl ...
by liusong1111 2007-11-04 浏览 (4460) 回复 (19) 关键字: 类变量
每天一条Ruby小道之Symbol
在Ruby中symbol是Symbol类的实例。symbol的语法为一个冒号后面接一个标识符。
symbol就像一个字符串,它表示了一个字符序列。它不像字符串,每个symbol只有一个实例(和Fixnum一样)。因此,有一个内存或
性能问题需要弄清楚。例如,在下面的代码中,"foo"字符串以三个单独的对象存储在内存中,但是symbol :foo作为一个单独的对
象存储(被引用了多次):
ar ...
by hideto 2007-08-07 浏览 (5881) 回复 (8) 关键字: symbol
Advanced Ruby
本文节选自ORUG的Tyler Hunt的《Advanced Ruby》
Syntax Sugar
if not version.empty?
return version.gsub('_', '.')
end
unless version.empty?
return version.gsub('_', '.')
end
return if version.va ...
by hideto 2007-08-11 浏览 (1164) 回复 (1) 关键字:
相关博客
ruby way之动态特性之一
1 动态的evaluate代码
全局的方法eval 编译并且执行一段包含ruby代码片断的字符串,这是一个很power的机制,因为它允许你建造在运行时
执行的代码。看下面的例子:
parameters = {}
ARGF.each do |line|
name, expr = line.split(/\s*=\s*/, 2)
parameters[name] = eval ...
by simohayha 2008-01-23 浏览 (1138) 回复 (1) 关键字:
ruby way之动态特性之二
1 得到所定义的实体的列表
ruby的反射api能够使我们在运行时检测类和对象。因此我们下面将会介绍Module, Class, 和Object中的定义的一些方法。
Module模块有一个constants 的方法,它将会返回系统中所有的常量名,包括类名和模块名。nesting 方法则是返回当前调用点上的嵌套的模块的列表.
list = Math.constants # ["E", " ...
by simohayha 2008-01-25 浏览 (1186) 回复 (2) 关键字:
ruby way之高级OOP特性之一
1 发送一条消息给一个对象
当你调用一个方法时,你也就是发送了一条消息给一个对象,在ruby中我们能够在运行时决定那个方法被调用。send 方法就是做这个的,他接受一个symbol为参数.
举个简单的例子,假设我们要写一个排序,我们想要使用不同的域作为比较的key。虽然我们这时可以用block,可是如果使用send的话,我们能有一个更优美的写法:
class Person
attr_r ...
by simohayha 2008-01-19 浏览 (888) 回复 (0) 关键字:
ruby way之OOP之二
1 理解allocate
在一些特殊的环境中,你可能需要不调用它的构造器(也就是initialize)来创建一个对象。也就是说你想要创建一个空的对象.例如,假设你有一个对象,它的状态完全的由它的存取方法所确定,因此如果你不是真的想要一个另外的状态的话,调用new方法是没必要的.此时我们能allocate方法.
class Person
attr_accessor :name, :age, ...
by simohayha 2008-01-16 浏览 (758) 回复 (0) 关键字:
理解ruby中的继承
使用module扩展类实例和添加singleton方法
#扩展特定的对象
module Test
def username
puts "username is Neo"
end
def userpass
puts "userpass is canable"
end
end
class Demo
def cache
put ...
by 不是流氓 2008-03-27 浏览 (172) 回复 (0) 关键字:
相关圈子讨论
Jim Weirich -- Advanced Ruby Class Design
Jim Weirich 是rake,builder等作者,他在做<<Advanced Ruby Class Design>>演讲的时候,列出了一段很漂亮的代码,
在此提供给大家分享,供大家学习,Jim Weirich可是骨灰级的programmer哟
# BlankSlate provides an abstract base class with no predefined
...
by Transformers 2007-12-20 浏览 (373) 回复 (0)
开帖学习笔记:记录学习python的各种应用,以免以后忘了。
下面的例子都是在windows下完成的。
1,读取文本文件的每行(假定C:根目录下有一个test.txt文件)。
f = open("c:/test.txt")
while(True):
str = f.readline()
if str == "" : break
#TODO:your code here
print str
f.close()
2,使用glob模块进行查询指定的e ...
by zhougaomin_007 2007-11-29 浏览 (1846) 回复 (6)
相关新闻
Rails 2.0 Preview Release
原文: http://weblog.rubyonrails.org/2007/9/30/rails-2-0-0-preview-release
Action Pack: Resources
1,RESTful风格改进:
/people/1;edit将变成/people/1/edit
2,添加routing名字空间
map.namespace(:admin) do |admin|
ad ...
by hideto 2007-10-04 浏览 (954) 回复 (0) 关键字: Rails 2.0
Ruby解释器及其API库发现众多安全缺陷
Ruby上众多安全缺陷被发现,Safe Level、WEBrick、Dl和DNS查找都受到影响。Ruby官方网站建议使用者尽快将Ruby升级到最新版本。安全缺陷包括:
untrace_var is permitted at safe level 4.
trace_var(:$VAR) {|val| puts "$VAR = #{val}" }
Th ...
by Eastsun 2008-08-13 浏览 (1260) 回复 (1) 关键字: ruby 安全缺陷
拉风+酷毙的HotRuby: 在一个JavaScript和Flash的虚拟机上跑Ruby
HotRuby是一个在Javascript和flash上的虚拟机上跑ruby代码并编译成opcode的项目。你可以通过在网页上嵌入<script type=”text/ruby”>…</script>并在之间写ruby脚本。HotRuby会识别并编译为远程脚本然后由javascript和flash的虚拟机来执行,显示在页面上。这里演示一 ...
by robertlyc 2008-03-27 浏览 (5705) 回复 (21) 关键字:

