`

Re: 如何用module_eval向class中添加instance variable

    博客分类:
  • Ruby
阅读更多
ruby 代码
  1. class A   
  2.   def self.has_some_vars(*options)   
  3.     options.each do |var|   
  4.       class_eval(<<-EOS)   
  5.       unless defined? @#{var}   
  6.       @#{var} = nil   
  7.       end  
  8.       EOS   
  9.     end  
  10.   end  
  11. end  
  12.   
  13. class B < A   
  14.   has_some_vars :user_name,:user_age,:user_address  
  15. end  
  16.   
  17. p B.instance_variables   
  18. =>["@user_name","@user_age","@user_address"]  
分享到:
评论

相关推荐

    trec_eval_latest.tar

    《TREC评估工具trec_eval最新版本解析》 在信息技术领域,信息检索(Information Retrieval, IR)是一项至关重要的任务,...通过使用trec_eval,我们可以确保在不断变化的信息检索环境中,持续提供高质量的检索服务。

    Ruby Meta Programming: define_method or class_eval

    `define_method`和`class_eval`是Ruby元编程中的两个关键方法,它们被广泛用于动态地添加方法到类或者模块中。这篇文章将深入探讨这两个方法的用法和区别。 `define_method`方法允许我们传递一个符号和一个代码块来...

    ap算法matlab代码-DARKFACE_eval_tools:DARKFACE_eval_tools

    预计可与八度一起使用,从 MATLAB 运行时可能会出现错误 docker pull scaffrey/eval_tools_ap:dry_run docker run --rm -it \ -v /path/to/your/submission:/tools/data \ -v /path/to/save/result:/tools/output \ ...

    Faster R-CNN中voc_eval.py文件

    借助Faster R-CNN中voc_eval.py文件,测试YOLO测试数据集mAP等结果,博客见

    reset_jetbrains_eval_windows.rar

    标题 "reset_jetbrains_eval_windows.rar" 暗示这是一个针对JetBrains开发的IDE在Windows操作系统上的试用重置工具。JetBrains是一家知名软件开发公司,以其高效、功能强大的集成开发环境(IDE)如IntelliJ IDEA、...

    详解Ruby中的instance_eval方法及其与class_eval的对比

    ### Ruby中的instance_eval方法及其与class_eval的对比 #### 一、instance_eval方法详解 **instance_eval** 方法属于Ruby语言中的eval家族成员之一,它的主要功能是将一个代码块(通常是一个包含Ruby代码的字符串...

    GD32F450I_EVAL官方评估板 _LittlevGL代码移植

    在本文中,我们将深入探讨如何将LittlevGL图形库移植到GD32F450I_EVAL官方评估板上。LittlevGL是一个强大的开源图形库,适用于嵌入式系统,提供丰富的图形用户界面(GUI)功能。GD32F450I_EVAL是一款基于ARM Cortex-...

    license_eval_halcon_progress_2022_03.dat

    license_eval_halcon_progress_2022_03.dat

    STM3210C_EVAL_stm32_STM3210C_EVAL_temperature565_

    描述中提到的"STM3210C EVAL 的 LL 和 HAL 例程",是指STM3210C EVAL板上使用的底层库(Low-Level Library, LL)和硬件抽象层(Hardware Abstraction Layer, HAL)。LL库是直接针对STM32内核和外设寄存器的操作,...

    j4locr_eval

    8. **集成到项目**:将j4locr_eval集成到Java项目中,需要将库文件添加到类路径,如果是Maven或Gradle项目,则需要在构建配置中声明依赖。 9. **版权和许可证**:使用评估版时,必须注意版权和使用条款,确保合法...

    I2C.zip_STM3210E_STM32F10X.h_stm32_eval.h_stm32_eval_i2c__stm32f

    #include "stm32_eval_i2c_tsensor.h" #include "stm32_eval.h" #ifdef USE_STM32100E_EVAL #include "stm32100e_eval_lcd.h" #elif defined USE_STM3210E_EVAL #include "stm3210e_eval_lcd.h" #elif defined ...

    CrystalC_REVS_ProPlus_Eval_v480.Zip

    《代码自动生成流程图软件——CrystalC_REVS_ProPlus_Eval_v480深度解析》 在编程领域,代码自动生成工具已经成为了提高开发效率、优化工作流程的关键要素。其中,“CrystalC_REVS_ProPlus_Eval_v480”是一款备受...

    reset_jetbrains_eval_windows.vbs

    可以无限重置

    reset_eval.rar

    在IT领域,软件注册表是操作系统中的一个重要组成部分,特别是在Windows系统中。注册表存储着系统和应用程序的各种配置信息,包括用户设置、程序路径、服务信息等。随着时间的推移,注册表可能会积累大量无用或错误...

    trec_eval.exe

    《信息检索效果评价工具trec_eval.exe详解及应用》 在信息时代,高效、准确的信息检索系统成为我们获取知识和解决问题的重要途径。然而,如何衡量一个信息检索系统的性能呢?这就需要借助专业的评估工具——trec_...

    license_eval_halcon_steady_2021_07.dat等多个文件.rar

    标题中的"license_eval_halcon_steady_2021_07.dat"是一个与HALCON软件相关的许可评估文件。HALCON是MVTec公司开发的一款广泛应用的机器视觉软件,它提供了全面的图像处理功能,包括形状匹配、模板匹配、1D/2D码识别...

    GD32E103C_EVAL.rar

    《GD32E103C_EVAL:嵌入式操作系统移植与应用详解》 GD32E103C_EVAL.rar 是一个针对GD32E103微控制器的资源包,它包含了多个流行的实时操作系统(RTOS)的移植版本,包括FreeRTOS、RT-Thread、ucos_ii、ucosiii以及...

    GD32107C_EVAL LiteOS FreeRTOS_key uCOS_III_key RTOS Demo源代码.zip

    在这个Demo中,用户可以学习如何在GD32107C_EVAL上搭建uCOS_III环境,配置任务调度,使用事件标志组、消息邮箱、信号量等同步工具,以及理解其内存管理和中断处理机制。 4. **RT-Thread**:中国自主研发的开源RTOS...

    GD32E230C_EVAL.rar

    标题中的"GD32E230C_EVAL.rar"是一个压缩包文件,主要涉及的是GD32系列微控制器,特别是GD32E230C评估板上的固件移植示例。GD32是由国内知名半导体公司GigaDevice(兆易创新)推出的32位通用MCU产品线,其E230系列...

Global site tag (gtag.js) - Google Analytics