32、Ruby 编程:模块、命名空间、反射与元编程技巧

Ruby 编程:模块、命名空间、反射与元编程技巧

1. 按需自动加载库

在 Ruby 编程中,为了节省用户的内存,可以将 functions.rb 文件拆分为三个文件,让 functions.rb 成为一个充满 autoload 调用的存根文件。示例代码如下:

# functions.rb
autoload :Decidable, "decidable.rb"
autoload :Semidecidable, "semidecidable.rb"

模块本身则放入新 functions.rb 中提到的文件里:

# decidable.rb
module Decidable
  # ... 这里有很多很多方法。
end
# semidecidable.rb
module Semidecidable
  # ... 这里有很多很多方法。
end

以下代码在所有模块都在 functions.rb 中时可以正常工作,当 functions.rb 仅包含 autoload 调用时同样可行:

require 'functions'
Decidable.class                               
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值