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) 关键字:

相关问答

赞助商链接