0 0

关于ruby以等号结尾的方法的问题5

在ruby中,以等号结尾的方法比较特殊,ruby允许以赋值操作的语法来调用他们。

 

class MyClass

    def name=(aName)

        @name = aName

    end

end

 

ob = MyClass.new

 

ob.name=('Tim') 

ob.name = 'Tim'  # 等价的写法

 

我的问题是

 

 

class MyClass

    def name=(firstName, lastName)

        @firstName = firstName

        @lastName = lastName

    end

end

 

ob = MyClass.new


ob.name=('it','eye') # 报错
ob.name = 'it', 'eye' # 还是报错

这样的包含2个以上参数的方法定义,应该如何调用。。。
2012年11月08日 16:52

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

0 0

采纳的答案

ob.name=, “=”结束约定为 setter 方法, 只支持一个参数.
不要想为什么, 这个是语法约定。

class Person
	def name=(fullname)
		@first_name = fullname[:first]
		@last_name = fullname[:last]
	end

	def name
		"#{@first_name}.#{@last_name}"
	end
	
end

p = Person.new
p.name= {:first => 'lv', :last => 'jian'} 
p p.name



2012年11月12日 15:59

相关推荐

    Ruby 方法、类

    Ruby 是一种面向对象的编程语言,以其优雅的语法和强大的面向对象特性著称。在Ruby中,方法和类是构建程序的基本元素,它们是实现代码重用和组织的关键概念。 ### 方法(Methods) 方法在Ruby中是可重复使用的代码...

    Ruby Ruby Ruby Ruby Ruby Ruby

    Ruby Ruby Ruby Ruby Ruby Ruby

    关于ruby学习的资料

    在Ruby学习中,这样的文档可能是关于错误处理、异常捕获(trap)或系统调用的相关教程。在Ruby中,`trap`常用于设置信号处理器,允许程序在接收到特定系统信号时执行自定义操作,这在编写可靠和响应迅速的系统中非常...

    ruby2ruby.zip

    ruby2ruby 提供一些用来根据 RubyParser 兼容的 Sexps 轻松生成纯 Ruby 代码的方法。可在 Ruby 中轻松实现动态语言处理。 标签:ruby2ruby

    Programming ruby.pdf

    《Programming Ruby》是一本关于Ruby编程语言的经典著作,由Dave Thomas、Andy Hunt和Chad Fowler合著。这本书自2004年初版以来,一直是学习Ruby的首选资源,被誉为“Pickaxe”书,因其封面的图标而得名。Ruby是一种...

    笨方法学习 Ruby 电子书

    很好的ruby学习材料,ruby的入门有点难,比较繁琐,这本书很好的帮助大家开启ruby的大门

    笨方法学ruby.

    ruby\笨方法学\笨方法学

    笨方法学ruby-中文版

    《笨方法学Ruby》是针对初学者的一本中文教程,旨在通过实践性的学习方式帮助读者掌握Ruby编程语言。这本书的特点是强调动手实践,通过一系列的练习来深化对Ruby语法和编程概念的理解。以下是对该书内容及压缩包文件...

    06Ruby 方法.docx

    Ruby 方法的定义遵循一定的规则,例如方法名必须以小写字母开头。 #### 定义方法 方法的基本定义结构如下: ```ruby def method_name # 方法体 end ``` 若要定义接受参数的方法,语法稍作调整: ```ruby def ...

    Ruby-rubybuild编译和安装Ruby

    Ruby是一种动态、开源的编程语言,以其简洁、优雅的语法和强大的元编程能力著称。在Ruby开发中,为了管理不同版本的Ruby环境,我们常常会使用到`rbenv`和`ruby-build`这两个工具。本文将详细介绍如何使用`ruby-build...

    ruby DBI ruby DBI ruby DBI

    ruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ruby DBIruby DBI ruby DBI ...

    Best of Ruby Quiz

    这本书的描述简洁明了,"Best of Ruby Quiz"直接点出了其核心内容——一系列关于Ruby的精彩挑战和问题解答,旨在提升编程技能。 Ruby是一种面向对象的、动态类型的编程语言,由日本的松本行弘(Yukihiro Matsumoto...

    Ruby基础语法使用方法全套讲解,风格讲解指南大全

    Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法著称。在这个"Ruby基础语法使用方法全套讲解,风格讲解指南大全"中,我们将深入探讨Ruby的核心特性,包括变量、数据类型、控制结构、函数、类和模块...

    Ruby-关于Ruby的相关学习说明了解

    Ruby

    关于ruby的几本电子书

    这里提到的两本书籍——"the ruby way.chm"和"rubyonrails2204.pdf",很可能是关于Ruby语言和Ruby on Rails框架的深入学习资源。 1. "The Ruby Way":这本书通常被看作是Ruby编程的权威指南。它深入探讨了Ruby语言...

    Hello, Ruby World!

    `)结尾的方法通常返回布尔值,以感叹号(`!`)结尾的方法通常表示该方法将修改对象的状态。 - **访问控制**:Ruby支持三种不同级别的访问控制:公共(`public`)、受保护(`protected`)和私有(`private`)。 ###...

    Ruby编程Ruby Programming

    - **动态性**:Ruby支持运行时修改代码结构,允许开发者在程序运行过程中改变类和方法的行为。 - **元编程能力**:Ruby提供了一种称为元编程的技术,使得程序可以自我修改和自我扩展。 ### 二、Ruby编程基础 #### ...

    ruby语言帮助文当

    2. `ruby20-core.chm`:可能是关于Ruby 2.0核心库的文档,核心库包含了语言的基本结构和功能,如类、模块、对象、变量、控制结构等,是编写任何Ruby程序不可或缺的部分。 3. `ruby20.chm`:这个文件可能是整个Ruby ...

    Ruby基础语法+Ruby变量与数据类型+Ruby控制结构+Ruby函数与方法+Ruby面向对象编程等全套教程

    Ruby函数与方法 Ruby面向对象编程 Ruby模块与包 Ruby错误处理 Ruby文件与I/O操作 Ruby正则表达式 Ruby网络编程 Ruby数据库交互 Ruby测试框架 RubyWeb框架Rails入门 Ruby高级特性 Ruby性能优化与最佳实践

Global site tag (gtag.js) - Google Analytics