文档章节

Ruby和面向对象概览

jackzlz
 jackzlz
发布于 2015/01/21 09:21
字数 326
阅读 26
收藏 0

irb: 交互式ruby。

在irb中输入源代码,并按回车键,会立即看到结果。有时这种环境被称为即时或交互式环境。

ruby中一切都是对象。

puts 1+10。 1是对象,10也是对象。它们都是Fixnum类的对象,事实上,"+"号是个相加的方法。

Kernel模块的方法。

kernel是个特殊的模块,它的方法在Ruby的每个类和有效范围中都可以使用。例如puts方法来自Kernel模块的方法。

puts方法是Kernel模块的方法,而Kernel模块是被默认包含和搜索的,因此通常无须使用Kernel.puts的方法来引用。

puts方法只接受一个自由变量,即参数。以下代码都是等价的

Kernel.puts("Hello, world!")

Kernel.puts "Hello, world!"

puts("Hello, world!")

puts "Hello, world!"

以非面向对象方式使用Ruby

def dog_barking

puts "woof!"

end

dog_barking

我们称之为方法,尽管其他语言会将其视为子程序或函数,即可立即调用,无需使用任何类或对象名。

如果实验一下,会发现dog_barking就是Object.dog_barking



© 著作权归作者所有

共有 人打赏支持
jackzlz
粉丝 20
博文 22
码字总数 9645
作品 0
深圳
程序员
私信 提问
Python vs Ruby: 谁是最好的 web 开发语言?

Python 和 Ruby 都是目前用来开发 websites、web-based apps 和 web services 的流行编程语言之一。 这两种语言在许多方面有相似之处。它们都是高级的面向对象的编程语言,都是交互式脚本语言...

oschina
2017/04/12
4.8K
32
寻找 Python 的替代品,我发现了 Crystal 语言

我自 2011 年起,就是 Python 的用户与爱好者了。当时,一个好友建议我用 Python 代替 Perl 试试 ,一个崭新的世界向我开放了。在这个世界里可读性比什么都重要,还有一种简明的规则。 即使用...

程序师
2018/07/01
0
0
10月编程语言排行榜:Ruby稳步提升

TIOBE今日公布了2009年10月的编程语言排行榜,我们将关注正稳步爬升的Ruby,这次Ruby首次进入前十。TIOBE今日公布了2009年10月的编程语言排行榜,……本月我们关注一直在稳步爬升的Ruby。 在...

红薯
2009/10/07
2.8K
0
我为什么要从 Python 转向 Crystal 语言

自 2011 年以来,我一直是 Python 的重度用户和爱好者。当时,一位好朋友建议我抛弃 Perl(eeek)并尝试使用 Python 时,一个全新的世界向我敞开了大门。 这个世界的可读性高于其他所有语言,...

oschina
2018/06/12
7K
27
面向对象的分布式脚本编程语言--Reia

Reia是一种面向对象的分布式脚本编程语言。 运行在erlang虚拟机上,它的语法像Ruby/Python。 1.它是一种脚本语言,类似Ruby,Python 2.它是面向对象的,类似Ruby 3.它是面向分布式计算的,运行...

匿名
2012/06/25
776
0

没有更多内容

加载失败,请刷新页面

加载更多

Git cherry-pick 使用总结

应用背景:假设现在有两个分支:dev_01, dev_02. 如果我想把dev_01分支上的某几个commit合并到dev_02分支, 那么怎么办呢? 这就是cherry-pick的工作了。cherry-pick会捡选某些commit, 即把某...

天王盖地虎626
35分钟前
5
0
css动态设置宽高

css 中可以使用 calc() 来动态设置宽高,但是,在表达式中运算符的前后必须要有空格 height:calc(100vh - 80px)

林梓阳
46分钟前
0
0
Git忽略提交规则 - .gitignore配置运维总结

在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交。简单来说一个场景:在你使用git add ....

二团长的迫击炮
47分钟前
2
0
记录一次用VB合并数据,确实很好用

Sub 合并()Dim row, col, val As DoubleFor row = 1 To 710 Step 1 For col = 1 To 15 Step 1 If IsNumeric(sheet2.Cells(row, col)) And IsNumeric(Sheet3.Cells(row, ......

蓝栩液枫
48分钟前
3
0
多态小笔记

多态背后的思想将‘做什么’和‘谁去做以及怎么去做’分离开来 根本作用是将过程化的条件分支转化为对象的多态,从而消除掉条件分支语句

莫西摩西
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部