`
ericluo
  • 浏览: 17784 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Fwd: Difference between 'def s elf. …' and module_function …

阅读更多


---------- Forwarded message ----------
From: Austin Ziegler <halostatue@gmail.com>
Date: May 27, 2005 11:15 PM
Subject: Re: Difference between 'def s elf. …' and module_function …
To: ruby-talk ML <ruby-talk@ruby-lang.org>

On 5/27/05, Nikolai Weibull
< mailing-lists.ruby-talk@rawuncut.elitemail.org> wrote:
> I thought I new the difference between writing
> module A
>   def self.a
>     ⋮
>   end
> end
>
> and
>
module B
>   def a
>     ⋮
>   end
>
>   module_function :a
> end

Module A defines only A.a. Module B defines B#a and B.a. B.a is a copy
of B#a at the time of the call to module_function and B#a is made
private (according to the documentation).

module A
def self.a
   puts "#{self.inspect}.a"
end
end

module B
def a
   puts "#{self.inspect}.a"
end
module_function :a
end

A.methods(false) # -> [ "a" ]
B.methods(false) # -> [ "a" ]
B.instance_methods(false) # -> []
B.private_instance_methods(false) # -> ["a"]
A.a # -> A.a
B.a # -> B.a
o = Object.new
o.extend(B)
o.send(:b) # -> #<Object:0x2b3fe38>.a

Does that make it clearer?

-austin
--
Austin Ziegler * halostatue@gmail.com
              * Alternate: austin@halostatue.ca
分享到:
评论

相关推荐

    fwd.zip_NOISE_fwd

    "fwd.zip_NOISE_fwd" 提供的功能文件是专门用于生成图像噪声的工具。这个功能可能对研究图像噪声特性、测试去噪算法或理解噪声对图像质量影响的研究人员非常有用。 噪声通常指的是图像中不期望存在的随机变化,可以...

    Fwd: Extension-crx插件

    https://fwd.wiki/的扩展 这是我们应用程序https://fwd.wiki的扩展。 作为扩展的一部分,我们提供了许多功能,即Fwd:扩展。 此扩展程序还提供了Google Meet出勤报告。 一个“新选项卡”,您的收藏夹应使用美丽的...

    ToadForOracle_12.8.0.49_x64_Zh.msi

    ToadForOracle_2018_12.8.0.49_x64_ZH 原装中文版 LicenseKey: CJ2PFCQ6P49Q4WHQT2D03GNTVX2AN5DG6FWD04YL4QW625KT391J9YF38VKB92SNBWNW-RU-BOARD-BD SiteMessage: cr2384

    lora_gateway-master.zip_gateway_lora_lora 网关_lora网关

    LoRa(Long Range)是一种基于扩频技术的远距离无线通信技术,主要应用于低功耗、广域物联网(LPWAN)系统。LoRa网关是LoRa网络中的关键组件,它作为LoRa终端设备与LoRa网络服务器之间的桥梁,负责接收和转发LoRa...

    dpdk17版本下的l2fwd支持目的mac地址手动修改

    INSTALL-MAP l2fwd.map 适配dpdk-17.11.1,命令通过新增-d指定端口的dmac。 ./build/l2fwd -c 3 -n 2 -- -p 3 -d 11:11:11:11:11:11 -d 22:22:22:22:22:22 Port0的dmac为: 11:11:11:11:11:11 Port2的dmac为: 22:...

    dpdk18版本下l2fwd自定义修改目的mac地址

    INSTALL-MAP l2fwd.map 适配dpdk-17.11.1,命令通过新增-d指定端口的dmac。 ./build/l2fwd -c 3 -n 2 -- -p 3 -d 11:11:11:11:11:11 -d 22:22:22:22:22:22 Port0的dmac为: 11:11:11:11:11:11 Port2的dmac为: 22:...

    fwd.zip_zip

    标题 "fwd.zip_zip" 暗示我们正在处理一个包含其他文件的压缩包,它可能是一个项目或软件开发的组成部分。"rotatational project" 描述可能指的是这个项目与旋转相关的功能或特性,比如图形的旋转、物理模拟或者某种...

    FWD V101文件.zip_FWD UD_K60头文件

    "FWD V101文件.zip_FWD UD_K60头文件"这个标题暗示了这是一个与FWD(可能是某个软件框架或库)的版本V101相关的压缩包,其中包含了UD(用户定义)部分针对K60微控制器的头文件。在嵌入式系统开发中,头文件通常包含...

    fwd.zip_SVPWM inverter_inverter NPC_svpwm_zip

    标题中的“fwd.zip_SVPWM inverter_inverter NPC_svpwm_zip”表明这是一个关于SVPWM(Space Vector Pulse Width Modulation)逆变器技术的资料包,特别提到了NPC(Neutral Point Clamped,中点箝位)拓扑结构。...

    js gb2312编码

    // 输出类似:https%3A%2F%2Fwww.baidu.com%2Fs%3Fwd%3D%E6%90%9C%E7%B4%A2%E5%85%88%E9%A2%98 ``` 在给定的文件列表中,有三个文件:URLEncode.html、UrlEncode.js、UrlEncode2.js,它们可能包含了关于URL编码的...

    EIDORS软件函数的对照

    2. fwd_solve():从fwd_model对象和图像中计算数据。 3. show_current():在图像上显示节点上的电流或其他量。 4. show_3d_slices():显示具有多个切片的对象的三维视图。 5. show_slices():使用快速渲染算法以级别...

    fwd.zip_The Dos

    【标题】"fwd.zip_The_Dos" 涉及到的是一个关于DOS操作系统以及可能与其相关的编程代码的知识点。DOS(Disk Operating System)是早期个人计算机上广泛使用的命令行操作系统,由微软公司开发。这个压缩包可能是包含...

    Matlab.rar_matlab_quadruped_seatvi2

    首先,我们来看Fwd_Move2D.m文件,它很可能包含了二维空间中的四足机器人前进运动的算法。这种算法可能涉及到机器人的步态规划,如何在平面上协调各个腿的运动来实现稳定行走。在实际应用中,这通常需要考虑机器人的...

    fwd.zip_Centroid

    在这个场景中,"fwd.zip_Centroid" 提供的资料可能是一个关于如何计算和应用对象点集的质心(Centroid)的教学或实例。 首先,让我们深入理解什么是质心。质心是几何对象所有点的平均位置,可以视为物体在均匀密度...

    geocent_fwd.rar_反算_高斯反投影_高斯反算_高斯投影_高斯投影反算

    标题中的"geocent_fwd.rar_反算_高斯反投影_高斯反算_高斯投影_高斯投影反算"揭示了这个压缩包文件的内容,它包含了一个用于进行高斯投影反算的程序。"geocent_fwd.m"很可能是用MATLAB编写的脚本或函数,用于执行...

    fwd.rar_ppt评分

    【标题】"fwd.rar_ppt评分"是一个与计算机科学教育相关的项目,主要涉及的是一个用于计算机系PPT大赛的评分系统。这个系统可能被设计用来帮助评委们更有效地评估和打分参赛者的演示文稿,尽管其效率相对较低,但仍然...

    tranmerc_fwd.rar_UTM_UTM投影_UTM投影6度分带_UTM投影转换_utm投影六度

    UTM投影采用6度分带,从东经180度(或西经180度)开始,自西向东算起, UTM 投影转换

    网络专题训练Ipv4转发实验报告.pdf

    然后,通过遍历路由表寻找最长匹配的路由项,如果找到,就更新TTL,重新计算校验和,并使用`fwd_SendtoLower()` 发送分组。 实验过程中,涉及到的网络原理主要包括IP分组结构、路由选择算法(最长匹配原则)、TTL的...

    首页指标 文档开发

    ) WHERE fwd_total = 0 AND rev_total = 0; ``` 这段查询用于统计过去一天内没有任何上行(FWD)或下行(REV)数据流量的基站数量。其中`fwd_total`和`rev_total`分别代表上行和下行的平均流量。此查询同样对基站...

    Fwd.zip_zip

    【标题】"Fwd.zip_zip" 提到的文件是一个压缩包,它采用了 ZIP 文件格式,这是最常用的文件压缩格式之一。ZIP 格式允许用户将多个文件或文件夹打包成一个单一的文件,便于存储、传输和管理。"Fwd" 可能暗示这是一个...

Global site tag (gtag.js) - Google Analytics