return是函数的返回值

 class Mtring
def initialize(str)
@name = str
end
def aa
ary = @name.split(/:/)
return ary.size
end end str1 = Mtring.new("Ruby in a shell:hello:2001:USA")
p str1.aa #=》4

这段代码涉及了类的实例方法应该怎么给new出来的对象进行赋值。

关于initialize方法,在调用new方法建立对象的时候,这个initialize方法就会被调用;同时,传递给new的所有实参都会传递给initialize的方法,所有我们在这个方法中做了一个初始化的动作,给一个实例变量赋值(@打头的变量叫做实例变量,它的值在离开方法之后也依然存在。)

 class Mtring
# def initialize(asd = "just ad d o")
# @asdf = asd
# end
def count_word(aaa)
ary = aaa.split(/\s+/)
return ary.size
end
end
p Mtring.new.count_word("just ad")
p aaa #=》2

ruby中的return方法及class实例方法的initialize方法的更多相关文章

  1. c# 第22节 c#四大方法 静态方法、实例方法、虚方法、重新方法

    本节内容: 1:静态方法和实例方法什么 2:虚方法是什么 3:重写方法 4:禁止重写方法 1:静态方法和实例方法是什么 静态方法,一般是类的常用方法,允许在不创建类的实例的情况下,直接调用. 静态方法 ...

  2. ruby中的可调用对象--方法

    上一篇讲了ruby中的可调用对象proc和lambda,他们都是块转换成的对象.ruby中的可调用对象还有方法.通过使用method方法,并且以方法名作为参数(字符串或者符号),就可以得到一个方法对象 ...

  3. ruby中的链式访问和方法嵌套

    先看一道题,这道题是codewars上的一道题,我很早就看到了,但是不会写.等到又看到这道题的时候,我刚看完元编程那本书,觉得是可以搞定它的时候了.废话不多说,先看这道题,题目最开始是为JavaScr ...

  4. 细说OC中的load和initialize方法

    OC中有两个特殊的类方法,分别是load和initialize.本文总结一下这两个方法的区别于联系.使用场景和注意事项.Demo可以在我的Github上找到--load和initialize,如果觉得 ...

  5. Orchard源码分析(5.1):Host初始化(DefaultOrchardHost.Initialize方法)

    概述 Orchard作为一个可扩展的CMS系统,是由一系列的模块(Modules)或主题(Themes)组成,这些模块或主题统称为扩展(Extensions).在初始化或运行时需要对扩展进行安装:De ...

  6. OC类的本质,深入探讨,load方法和initialize方法

    1:类的本质:类也是一种类,可以叫做类类,类对象,类类型: 2:类和对象在内存中分配问题(注意区分类的对象和类对象的概念) 类对象在内存中只有一份,且只加载一次,类对象中存放了类中定义的方法: 而成员 ...

  7. ruby中proc和lambda的return区别

    学习ruby有一段时间了,但是我看了好几遍proc和lambda的return区别的区别讲解,始终没明白到底什么区别,今天上午又看,终于感觉是茅塞顿开有点领悟了 一下内容部分来自<<rub ...

  8. ruby中的回调方法和钩子方法

    在ruby中,当某些特定的事件发生时,将调用回调方法和钩子方法.事件有如下几种: 调用一个不存在的对象方法 类混含一个模块 定义类的子类 给类添加一个实例方法 给对象添加一个单例方法 引用一个不存在的 ...

  9. ruby中的方法查找

    ruby中的方法调用都是 对象.方法 的形式,那么对象如何找到这个方法呢? 首先必须了解祖先链的概念,祖先链就是从一个类开始,到它的父类,再到父类的父类...一直到最终的起点(ruby中是BasicO ...

随机推荐

  1. SQLSERVER 中GO的作用

    go 向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号.go是把t-sql语句分批次执行.(一步成功了才会执行下一步,即一步一个go) BEGIN 和 END 语句 ...

  2. CI框架, 参数验证

    /** * 统一API参数检验方法 * * 调用示例 check_param(array('money' => array('required', 'integer', 'greater_tha ...

  3. 远程桌面连接无法验证您希望连接的计算机的身份-mac连接远程桌面

    在使用Mac(苹果笔记本)连接远程桌面的时候提示:”远程桌面连接无法验证您希望连接的计算机的身份”,具体异常如截图:解决方法如下:1. 登录云服务器.2. 打开运行,然后输入命令gpedit.msc, ...

  4. January 17 2017 Week 3 Tuesday

    You can't shake hands with a clenched fist. 紧握拳头你就无法与他人握手. If you want to shake hands with others, j ...

  5. 20140316 曼联VS利物浦,罗杰斯的小九九,当4312对上4231

    一.预测的阵式!? 赛前看fourfourtwo,Whoscored的首发预测,楼主立刻意淫了阵式图,并且大言不惭在微博贴了当晚的热战区域(上图的左侧),并疑惑着,格伦·囧森打左后卫,那这……显然是逼 ...

  6. 20140322 卡迪夫城VS利物浦,拔出重剑,有惊无险

    一.菱形442 起初在客战南安普顿的时候,罗杰斯启用了菱形442阵式,阵容和今天客战卡迪夫城几乎一样,只是格伦·约翰逊打左后卫,弗拉纳甘任职右后卫,目的是为了在客场抵御卢克·肖+拉拉纳.当时库蒂尼奥的 ...

  7. 在switch中的case语句中声明变量编译出错的解决方案

    在switch中的case语句中声明变量编译的问题 先来看段代码,别管什么意思: : , j = ; ; i < ; i++) recive_phone[i] = msgbuf.text[i]; ...

  8. Linux 查看所有登录用户的操作历史

    在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录,可是假如一台服务器多人登陆,一天因为某人误操作了删除了重要的数据.这时 ...

  9. Nginx 作为 WebSockets 代理

    WebSocket 协议给我们提供了一个创建可以支持客户端和服务端进行双向实时通信的web应用程序的方法.相比之前使用的方法,WebSocket(作为HTML5的一部分)可以使我们更容易开的发出这种类 ...

  10. 2019.1.10 Mac安装Nginx服务器

    1.安装Homebrew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/in ...