Ruby 学习:绪论与基础语法
Ruby 学习:绪论与基础语法
什么是 Ruby
Ruby 是一种高级的、面向对象的、动态类型的脚本类型语言。是一种逐渐没落(悲)的 Web 应用开发语言和框架。
Ruby 的开发者是日本人松本行弘。官方文档:Ruby 文档
Ruby 是一门完全面向对象的语言。其语法十分灵活(冗余)。举个例子,你知道循环十次有四种不同的写法吗?
1 | for i in 1...10 |
在 ruby 中,万物皆对象(我认为比 Java 还要彻底)。连一个简单的整数 10
都是一个对象(10.times
就是调用了对象上的方法)。
ruby 的设计理念是”以人为本”。所以个体使用 ruby 的开发效率会很快。我们可以使用几行代码完成其他语言几十行完成的工作。
Ruby on rails 是什么
Ruby on Rails 是一种流行的,开源的,面向对象的Web开发框架,许多程序员和应用程序提供商都在使用该框架。 它基于模型视图控制器(MVC)方法。
模型映射到数据库,功能映射到应用程序中的对象,例如用户。 Rails为命名和文件目录结构提供了一个标准约定,该约定简化了编程,还提供了自动构建功能的解决方案,称为脚手架。 它还确保了开发人员可以共同工作并从彼此的努力中受益的共同环境。
Rails 哲学包含两大指导思想:
- 不要自我重复(DRY): DRY 是软件开发中的一个原则,“系统中的每个功能都要具有单一、准确、可信的实现。”。不重复表述同一件事,写出的代码才能更易维护,更具扩展性,也更不容易出问题。
- 多约定,少配置: Rails 为网页程序的大多数需求都提供了最好的解决方法,而且默认使用这些约定,不用在长长的配置文件中设置每个细节。
基础语法
注释
单行注释
1 | # 这是单行注释 |
多行注释
1 | =begin |
赋值
ruby 中赋值无需声明类型(动态类型),解释器将自行解释变量的类型。
1 | say = "hello world" |
在 ruby 中,任何语句都具有返回值。因此在函数中我们有时可以不写 return,默认返回最后一句话的返回值。
在赋值时,可以同时给多个变量赋值。
1 | a, b, c = 10, 20, 30 # =>[10, 20, 30] |
事实上是转换成为了列表然后进行赋值。
控制语句
1 | x = 5 |
在 ruby 的真值判断中,只有 nil 类型和 false 代表假。其余都代表真。
条件判断语句可以后置。如:
1 | flag = 1 |
这很符合通常的语言习惯,写起来尊嘟很舒适。
选择语句
在 ruby 中,选择语句的写法如下:
1 | # 通常的选择 |
事实上 case 语句是通过比较操作符 ‘case equality’(即 ‘===’)进行判断的。
此操作符不测试通常的相等关系,而是判断二者之间是否拥有 _Is-a_ 关系。即不测试相等性,而测试包容性。一般而言,应当避免显式使用三等号,因为这容易造成混淆。
循环语句
合法的循环方式们:
1 | for i in 1..10 do |
引用循环变量:
1 | 10.times { |x| puts x } |
真是十分便捷的写法。
常量与变量
全局变量:以 $ 开头。
对象实例属性:以 @ 开头。
类属性:以 @@ 开头。
本地变量:以小写字母开头。
常量:以大写字母开头
单引号与双引号
单引号括起来的字符串不会解释转义字符,而双引号会。一般在支持单双引号的语言中都是这么约定的。
格式化字符串
有多种办法进行字符串的变量替换。
1 | num = 100 |
符号
才写到符号家人们,后面的语法以后再来探索吧。