元编程
文章平均质量分 56
jamst8522127
这个作者很懒,什么都没留下…
展开
-
关于Ruby元编程
[code="java"]作者:孙志萌 浏览次数(20) 时间:2013-03-02 20:59:19今天被问到此类问题,以前总是觉得这个是比较宽泛的一个概念,自己即使是用过这些特性,但却一直不知道这叫“元编程” 直到今天被人问起的时候,方才顿悟一些,随后便在网上和自己的平实用的一些元编程做个小总结。原来所谓的Ruby中的元编程,是可以在运行时动态的操作语言结构(如类、模块、实...原创 2013-03-18 15:39:26 · 86 阅读 · 0 评论 -
ruby 类扩展的几种常用方法总结
总结一下工作中遇到的类扩展:类继承、抽象类、类拓展混入、代理类1、类继承:当多个类公用很多方法的时候可以将公用方法部分抽取出来,需要的类做相关继承。例子:[code="java"]class A < ActiveRecord::Base def a p "it was a " endendclass B"it was a...2014-12-26 17:05:30 · 760 阅读 · 0 评论 -
Ruby的class_eval和instance_eval
[code="java"]class Blog def one p "method one" end def self.two p "method two" endprivate def three p "method three" endend1、blog ...2015-02-05 12:26:16 · 80 阅读 · 0 评论 -
ruby简单增删改查的实现
module MeetingService def manage_services(me_name) class_name=me_name.to_s.camelize.constantize define_method("manage_#{me_name}s") do instan...原创 2015-09-14 11:28:47 · 295 阅读 · 0 评论 -
给类对象添加一个随机生成序号
[code="java"]module SerialNumber def self.included(base) base.extend(ClassMethods) end module ClassMethods def create_sn year_code=%w{A B C D E F G H I J K} month_code=%w{...2015-11-19 14:19:16 · 340 阅读 · 0 评论 -
ruby的serialize序列化与属性分解
序列化(Serialize)通常指的是將一個物件轉換成一個可被資料庫儲存及傳輸的純文字形態,反之將這筆資料從資料庫讀出後轉回物件的動作我們就稱之為反序列(Deserialize),Rails提供了serialize讓你指定需要序列化資料的欄位,任何物件在存入資料庫時就會自動序列化成YAML格式,而當從資料庫取出時就會自動幫你反序列成原先的物件。下面的範例中,settings通常是tex...2014-11-22 22:05:58 · 766 阅读 · 0 评论 -
元编程实现类属性自定义
[code="java"] class A def method_missing(name, *args) if name.to_s =~ /^*=/ if self.methods.include? name.to_s.delete("=").to_sym instance_variable_set("@#{name}".delete("...2016-12-14 21:28:36 · 108 阅读 · 0 评论