持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第3天,点击查看活动详情
一、Ruby Overview
A dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.
Ruby是面向对象的解释型编程语言,她追求的是简单而快捷的编程
Ruby的处理文本的能力极强,与Perl相当,同时还具有异常处理以及迭代器等构造
Rails是基于Ruby的Web框架,严格遵循了MVC架构,Rails也具有简单、高效的特点,Shopify、GitHub、Twitter、Airbnb、GOAT GROUP都是用Rails构建了应用
二、第一个Ruby程序
Ruby安装之后在Terminal终端可以查看Ruby版本
ruby -v
Ruby有类似Python的命令行控制台,输入irb即可开启
也可以在当前目录下新建一个以rb为后缀的文件quickstart.rb,在该文件中输入
puts "Hello World"
puts "Hello Again"
在终端中使用ruby命令来运行该文件,因为ruby是解释型语言,无须编译,可以直接运行
ruby quickstart.rb
三、Ruby的基础语法
在接下来所使用的IDE工具为 RubyMine,可以从Jetbrain官网进行下载,使用RubyMin创建一个空的项目ruby-quickstart
新增ex1.rb文件
puts "Hello World"
puts 'Yay! Printing'
puts "I'd like rather you 'not'"
puts 'I "said" do not touch this'
# 这是注释内容
puts '昨日依山尽,
江河入海流'
选中该文件,点击鼠标右键,选择Run 'ex1',控制台输出如下内容
在ruby中#之后的内容表示注释,用来对代码进行解释说明,# 后面的内容不会运行
Ruby中的数学运算
与其他编程语言一样,ruby中也可以使用+、-、/、*以及<、>等运算符进行数学运算和判断
新增ex3.rb,输入以下代码
puts "下面将要进行数学运算:"
puts "25 + 30 / 5 = ", 25 + 30 / 5
puts "100 - 25 * 3 / 5 = ", 100 - 25 * 3 / 5
puts "True? ", 3 + 2 < 7
puts "False?", 3 > 5
默认除法运算时返回整数,可以使用.to_f强制返回浮点数
Ruby中的变量和命名
新增ex4.rb,输入如下代码
# 定义变量
cars = 100
space_in_a_car = 4
drivers = 30
passengers = 90
cars_not_driven = cars - drivers
cars_driven = drivers
carpool_capacity = cars_driven * space_in_a_car
average_passengers_per_car = passengers / cars_driven
# 使用变量
puts "There are #{cars} cars avaliable"
puts "There are only #{drivers} drivers availiable"
puts "There will be #{cars_not_driven} empty cars"
puts "We can transport #{carpool_capacity} passenagers"
puts "We hava #{passengers} passageners to carpool today"
puts "We need to put about #{average_passengers_per_car} in each car"
ruby中可以直接使用 变量名=变量值 的方式来命名变量,而不用声明变量的类型,可以通过 #{变量名} 的方式来使用变量或者获取变量中保存的值
如果使用了没有经过 = 进行定义和赋值的变量,如在最后一行增加代码
# 上面代码保持不变
puts "We have #{total} cars and passengers"
则控制台会报错,提示使用的变量是undefined
Ruby 中变量的命名遵循以下规则:
- 普通变量的命令使用
小写字母或者下划线开头 - 全局变量使用
$开头 - 实例变量使用
@开头 - 被共享在整个继承链中的变量使用
@@开头 - 常量使用
大写字母开头
Ruby 中字符串的表示方法:
STR_01 = "使用双引号表示的字符串"
puts STR_01
STR_01_01 = '使用单引号表示的字符串'
puts STR_01_01
STR_02 = %Q{使用%Q和{}表示的字符串}
puts STR_02
STR_02_01 = %q{使用%q和{}表示的字符串}
puts STR_02_01
STR_03 = <<BLOCK
这是一个用BLOCK块表示的字符串,支持多行
这是一个用BLOCK块表示的字符串,支持多行
这是一个用BLOCK块表示的字符串,支持多行
BLOCK
puts STR_03
STR_04 = <<END_OF_STR_04
这是一个用END_OF_STR_04块表示的字符串,支持多行
这是一个用END_OF_STR_04块表示的字符串,支持多行
这是一个用END_OF_STR_04块表示的字符串,支持多行
END_OF_STR_04
puts STR_04
STR_05 = %/这是一个使用%//表示的字符串/
puts STR_05
STR_06 = <<END_OF_STRING1
We are here now,
where are you?
END_OF_STRING1
puts STR_06
要注意使用<<表示字符串时要有结尾