当我有了一定的编程经验后,熟悉了一门语言,然后再去学习另一门语言,会发现要找教程都比较麻烦,因为基本上所有语言的基础教程,都会不厌其烦的讲各个语言都差不多的一些编程基础内容。
我比较认同《七周七语言》书中的观点,若要领会一门语言的精髓,应该从以下5个方面入手:
- 语言的类型模型是什么?强类型或弱类型,静态类型或动态类型。
- 语言的编程范式是什么?是面向对象、函数式、过程式、还是其它的,或者是各种范式的综合体。
- 怎样和语言交互?编译型还是解释型。
- 语言的判断结构和核心数据结构是什么。
- 哪些核心特性让这门语言与众不同。
Ruby简介
- Ruby是由日本人松本行弘在1993年发明的
- Ruby是一门脚本语言、解释型、面向对象、动态类型的语言
Ruby基础语法特点
Ruby是一门解释型语言,不需要编译,能直接运行源代码。
在mac的终端上执行irb
命令,就能进入Ruby的执行环境。
我们可以先输入一些简单的代码进去看看
1 | 5 |
从上面这段代码中,我们可以看出几点:
- Ruby是一门解释执行,不需要编译
- 不用声明变量
- 每条 ruby 代码都会返回某个值
- 单引号表示直接解释
- 双引号包含的字符串会进行字符串替换
纯面向对象,数字、函数都是对象,函数作为参数传递
Ruby 是一门纯面向对象的语言
1 | irb(main):011:0* 5 |
在Ruby中一切皆对象,包括数字,也包括函数。
在ruby中是通过def ... end
来定义一个函数
1 |
|
ruby的函数默认是将最后一行的代码的运行结果返回,当然也可以写return
,指定返回的内容。
1 |
|
Ruby中也有类似oc中block的代码块,实际上就是一个匿名函数。
1 | irb(main):070:0* 5.times { puts 'hello, ruby' } |
动态类型、鸭子类型,强类型
判断结构和核心数据
Ruby核心特性
module and mixin
Ruby元编程
Ruby gem,rake,task
**未完待续**