`

ruby------方法

    博客分类:
  • Ruby
 
阅读更多
1. Ruby根据接收者的不同,可以将方法分成3种:
   1.1 实例方法
   1.2 类方法
   1.3 函数性的方法

2. 实例方法
   实例方法是最普通的方法。当对象(实例)存在时,把该对象作为接收者。
   例如:
  
    "10, 20, 30, 40".split(",")
    [1,2,3,4].index(2)
    1000.integer?
    # 上面的对象依序分别是字符串,数组,数值的接收者

    # 然而,也有一些表面看来像是运算符的方法
    obj =~ arg1
    obj[arg1] = arg2
    obj + arg1
    # 上面的这些语句虽然与一般方法的调用语法不同,但都是接收者为"obj",方法实参为"arg1", "arg2"的方法调用。
   


3. 类方法
   当接收者不是对象而是类时,这个方法称为类方法。
   例如,要建立一个实例的时候,就会使用类方法。
      
        a = Array.new               # 建立新数组
        f = File.open("some_file")  # 建立新的文件对象
        t = Time.new                # 建立新的Time对象       
       
 
   例如,有些没有直接操作实例,但仍与该类有关的操作,也会使用类方法。
      
        File.rename(oldname, newname)      # 更改文件名
        CGI.escapeHTML(html_string)        # 转换HTML的特殊字符
                 (如将"<", "&"转换成实例引用的"&lt;"与"&amp;")
       

   例如,类方法也有些是运算符的形式。
      
        Array["a", "b", "c"]          # 产生["a", "b", "c"]这个数组
       

4. 函数性方法
   没有接受者的方法,称为函数性方法。
   事实上,说是“没有接收者",其实并不是真的没有接收者对象,只是函数性的方法省略了它而已
   例如:
      
       sin(3.14)               # sin函数
       sleep(10)               # 程序暂停执行指定的秒数
       print "hello!"          # 在控制台显示字符串
       

    函数性的方法都设计成不会因为接收者状态的不同而影响执行结果。

5. 定义方法
   def 方法名(参数1, 参数2, ...)
     想要执行的动作
   end
分享到:
评论

相关推荐

    ruby-debug-ide

    本文将深入探讨ruby-debug-ide的功能、安装、使用方法以及与其他工具的集成,帮助你提升调试效率,打造更稳健的Ruby应用程序。 一、ruby-debug-ide概述 ruby-debug-ide是一个基于ruby-debug的库,它将调试功能暴露...

    ruby-2.4.3.tar.gz

    不过,这种方法需要一定的Linux操作经验,并且可能会导致与其他系统组件的冲突。为了解决这个问题,还可以考虑使用如RVM(Ruby Version Manager)或rbenv这样的版本管理器,它们可以方便地在多个Ruby版本之间切换,...

    ruby-debug-1.87.rar

    在实际使用中,`ruby-debug`提供了丰富的命令集,如`step`(单步执行)、`next`(跳过当前行,如果当前行包含方法调用则进入该方法)、`finish`(执行到当前作用域结束)、`break`(设置断点)等。这些命令使我们...

    Ruby-Http2HTTP2协议的纯Ruby实现

    Ruby-Http2库通过`Stream`对象抽象了这一概念,提供了管理流状态和交换数据的方法。 4. **错误处理**:HTTP/2协议定义了一系列错误代码,Ruby-Http2库会根据这些代码抛出相应的异常,帮助开发者识别和处理网络问题...

    ruby-2.2.4.tar.gz、rubygems-2.6.2.zip、redis-3.2.2.gem

    它提供了块、方法定义、模块和类的灵活用法,以及内置的异常处理机制。`.tar.gz`文件是Linux/Unix平台常用的归档格式,用于打包和压缩文件,便于分发和安装。 2. **RubyGems 2.6.2**: RubyGems是Ruby的官方包管理器...

    ruby-2.5.8.tar.gz

    - **元编程**:Ruby提供了`eval`、`define_method`等方法,允许在运行时修改或创建类和方法,增强了灵活性。 - **异常处理**:通过`begin..rescue..end`结构处理程序中的异常情况。 3. **Ruby-2.5系列的特性**:...

    ruby-1.8.4.tar.gz

    Ruby-1.8.4支持基本的语法特性,如类、模块、方法、块和异常处理,以及强大的元编程功能,如`eval`和`send`。 在开发过程中,可能会用到一些工具和框架,比如Ruby on Rails,这是一个流行的Web应用框架,它在Ruby ...

    ruby-1.8.7-p174-i386-mswin32

    3. **man**:这个目录可能包含了Ruby命令的手册页,供用户通过命令行查看命令的使用方法和选项。 4. **bin**:这是存放可执行文件的目录,包括Ruby解释器本身(ruby.exe)和其他相关工具,如gem(Ruby的包管理器)...

    ruby-2.6.6.tar.gz

    这使得Ruby可以自省,动态地创建和修改类、方法,甚至改变程序的行为。 4. 垃圾回收:Ruby有自动垃圾回收机制,负责管理内存,开发者无需手动管理内存,降低了内存泄漏的风险。 5. 继承与模块:Ruby支持单一继承,...

    ruby-1.9.1-p0-i386-mswin32.rar

    例如,`require 'json'`可以加载JSON库,然后使用`JSON.parse`方法解析JSON字符串为Ruby对象,`JSON.generate`则用于将Ruby对象转换为JSON格式的字符串。 在实际应用中,Ruby的灵活性和强大的库支持使其成为Web开发...

    ruby-2.2.1

    Ruby的元编程能力在2.2.1版本中也得到了增强,如`Module#prepend`方法的引入,允许模块的代码在被包含的类的方法之前执行,这在实现装饰器模式或者修改已有类的行为时非常实用。 在标准库方面,Ruby-2.2.1对许多库...

    ruby-debug命令详解

    本文将详细介绍`ruby-debug`的使用方法和核心特性。 ### 一、安装`ruby-debug` 首先,为了使用`ruby-debug`,你需要确保你的系统已经安装了`ruby`, `rubygems`和`debugger` gem。你可以通过以下命令来安装: ```...

    ruby-2.6.3源码压缩包

    要了解和使用这些特性,你需要熟悉Ruby的基本语法,包括类、模块、方法、变量、控制结构等。同时,通过阅读源码,开发者可以深入理解Ruby的内部机制,学习如何实现一个动态语言的编译器和运行时系统。这对于想要参与...

    Ruby-Mobility可拔插的Ruby翻译框架

    Ruby-Mobility还提供了查询辅助方法,使得在数据库查询中加入语言条件变得简单。比如,你可以很容易地获取特定语言的记录: ```ruby posts = Post.where(locale: 'fr').ransack(title_cont: 'example') ``` 在上述...

    ruby-2.1.10

    4. **元编程增强**:Ruby以其强大的元编程能力而闻名,2.1.10可能会包含更多的元编程工具和API,使得在运行时修改代码或创建动态类和方法更加便捷。 5. **错误处理和调试**:Ruby-2.1.10可能改进了错误处理机制,...

    Ruby-RDoc用于为Ruby项目生成HTML和命令行文档

    RDoc的主要功能包括解析Ruby源代码中的特殊注释,这些注释通常以三个或四个星号(`* * *`或`****`)或双下划线(`__`)开始,用于标记类、方法、变量等。RDoc能够识别这些特殊的注释格式,并将它们转换为HTML或...

    Ruby-一个Ruby的例子

    例如,当你在Ruby中写下"hello",它实际上是一个String对象,你可以调用方法在它上面操作,如`"hello".upcase`会返回"HELLO"。 其次,Ruby的动态性允许你在运行时改变程序的行为。这意味着你可以自由地添加方法到类...

    ruby-couch-db-源码.rar

    《Ruby与CouchDB:深入理解ruby-couch-db源码》 Ruby是一种强大的动态编程语言,以其简洁的语法和灵活性深受开发者喜爱。在Web开发领域,Ruby常常与Rails框架一起被用于构建高效、可维护的应用程序。而CouchDB则是...

    Ruby-LazyHighCharts一个简单和非常灵活的方式从ruby代码使用HighCharts

    Ruby-LazyHighCharts是一个针对Ruby编程语言设计的库,它提供了一种简单且高度灵活的方法来利用HighCharts库进行数据可视化。HighCharts是一个广泛使用的JavaScript图表库,用于在Web应用中创建高质量的交互式图表。...

    Ruby-Dalli高性能Rubymemcached客户端

    Ruby-Dalli是专门为Ruby编程语言设计的一个高性能的memcached客户端库。memcached是一种分布式内存对象缓存系统,常用于减轻数据库的负载,提高Web应用的响应速度。Dalli这个名字是"Damn Lighweight All-In-One ...

Global site tag (gtag.js) - Google Analytics