0 0

ruby如何动态获取对象属性值10

场景:有一个公共方法专门用来展示数据的,如下所示展示
名称   年龄   部门
A      50    测试
B      30    测试
该方法有三个参数:sourceData(数组对象)、showName(数组)、objectAttribute(数组)
数据示例:sourceData=[object,object,....]、showName=["名称","年龄","部门"]、objectAttribute=["name","age","department"]

因为是公共方法,所以这三个参数的内容是不一样的,showName被另外一个方法调用就可能变成了["宽度","长度"]。其余两个参数类似。
传给该方法的数据以及展示字段的名称都是不一样的,其中原始数据是用数组对象传输的。
循环sourceData,获去单个对象object。
现在问题来了,获得了对象后怎么根据objectAttribute中的属性字段获取该属性值哪。
2012年11月21日 16:55

1个答案 按时间排序 按投票排序

0 0

加个判断:
case objectAttribute
when Array
  do1()
when String
  do2()
when Hash
  do3
end

或统一用 yaml 传输, 或 json 。

2012年12月09日 09:49

相关推荐

    Ruby 面向对象知识总结

    - **访问器方法**:用于从类的外部获取对象的实例变量的值。 ```ruby class Box def initialize(width, height) @width = width @height = height end def width @width end def height @height end ...

    Ruby编程Ruby Programming

    Ruby是一种动态、面向对象的脚本语言,由日本程序员松本行弘(Matz)于1995年设计并发布。它结合了Perl、Smalltalk、Eiffel、Ada以及Lisp等语言的优点,旨在提高开发者的生产力,并且强调代码的可读性和简洁性。 ##...

    Ruby-RedisObjects直接将Redis类型映射成Ruby对象

    1. **String**: Redis-Objects将Redis的字符串类型映射为Ruby类的实例方法,例如`key.increment`来增加键的值,或者`key.get`来获取键的当前值。 2. **Hash**: 在Ruby类中,Redis-Objects会创建一个哈希字段,允许...

    Ruby语言入门教程

    例如,字符串对象可以使用`+`操作符进行连接,或者使用`length`方法获取长度。 Ruby的面向对象特性体现在其类和继承机制上。你可以定义自己的类,并通过`class`关键字开始。类可以包含属性(也称为实例变量)和方法...

    Hello, Ruby World!

    Ruby是一种高级、动态的面向对象编程语言,以其简洁且易于阅读的语法而闻名。它最初由日本人松本行弘(Yukihiro Matsumoto)于1995年设计并发布。Ruby的设计哲学之一是使编程更加愉悦,它强调代码的可读性和开发者的...

    Ruby 语言中类与对象简介,入门级语法介绍

    在Ruby中,类是用来定义具有相同属性和行为的对象的模板。类的定义使用`class`关键字开始,以`end`关键字结束。 ```ruby class ClassName def method_name # 方法体 end end ``` - `ClassName`是类名,按照Ruby...

    ruby初学者教程(对初学者很有帮助)

    - **面向对象**:Ruby是一门纯粹的面向对象语言,所有事物都是对象。 - **动态性**:Ruby支持动态类型和运行时修改,这使得程序员可以在程序运行过程中改变其行为。 - **元编程能力**:Ruby允许程序员通过代码生成...

    Ruby入门教程 pdf文字版

    - **数据类型**:Ruby是动态类型语言,包括字符串、整数、浮点数、布尔值、数组、哈希、符号等基本类型。 - **控制结构**:包括条件语句(if/else, case)和循环(for, while, until)。 2. **面向对象编程** - ...

    Ruby资源.docx

    Ruby的开源属性极大地促进了社区的发展和技术的进步。 - **免费获取**:Ruby可以在Web上免费获得,无需支付任何费用即可下载和使用。这种免费的模式降低了开发者入门的门槛,使得更多的人能够接触到Ruby并进行开发...

    Ruby程序设计.doc

    - **动态特性:** Ruby在动态特性的支持上更加灵活,可以在运行时修改类和对象的行为,而Python相对静态一些。 #### 二、Ruby编程环境 **2.1 Ruby的安装** - **在Windows系统上安装Ruby:** - 下载适用于Windows...

    Ruby语言中文教程

    Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法著称,深受开发者喜爱。本教程旨在帮助中文学习者快速掌握Ruby的基础知识和核心概念。 首先,我们需要了解Ruby的基本语法。Ruby中的变量分为四种...

    ruby代码分享——excel应用

    这个库允许Ruby与Windows下的OLE(Object Linking and Embedding)对象进行交互,其中包括了Microsoft Office应用,如Excel。 ```ruby require 'win32ole' ``` #### 2. 创建Excel应用程序实例 通过`WIN32OLE::new`...

    ruby语言入门教程

    在Ruby中,一切都是对象,包括基本类型如数字、字符串和布尔值。这使得编程更加直观,因为你可以对任何对象应用方法。例如,字符串可以调用`length`方法来获取其长度。 其次,Ruby的动态类型意味着你不需要在声明...

    Ruby Quick Syntax Reference.pdf

    Ruby是一种动态的脚本语言,它在程序员群体中因其简洁和优雅的语法而备受喜爱。《Ruby速查手册》是一本为Ruby编程语言提供的快速参考书籍,它将Ruby的核心语法以易于查找的格式进行整理,适合于初学者到中级水平的...

    ruby-oo-fundamentals-attribute-accessors-lab-wdc01-seng-ft-06012

    getter方法允许我们读取属性值,而setter方法让我们可以更改它。例如: - `def name` 是一个getter方法,用于获取`@name`的值。 - `def name=(new_name)` 是一个setter方法,用于设置`@name`的新值。 3. **自动...

    Ruby中文教程。。。

    1. 动态性:Ruby允许在运行时修改类和对象,如动态添加方法`define_method`,或在运行时改变对象的属性。 2. 方法_missing:此方法允许自定义处理未定义的方法调用,提供了一种强大的错误处理和扩展机制。 四、...

    ruby中文文档 chm版

    在Ruby中,万物皆对象,包括基本的数据类型如整数、字符串和布尔值。每个对象都有自己的属性(实例变量)和行为(方法)。类是创建对象的蓝图,定义了对象的属性和方法。通过`class`关键字我们可以定义一个类,然后...

    Ruby语言中文教程.rar

    Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法著称,深受程序员喜爱。本中文教程旨在为初学者提供一个全面了解和学习Ruby的平台,包括基础语法、面向对象编程概念、控制结构、数据类型、方法、类...

Global site tag (gtag.js) - Google Analytics