Ruby 开发(一)- Ruby Overview

227 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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

image.png

Ruby有类似Python的命令行控制台,输入irb即可开启

image.png

也可以在当前目录下新建一个以rb为后缀的文件quickstart.rb,在该文件中输入

puts "Hello World"
puts "Hello Again"

在终端中使用ruby命令来运行该文件,因为ruby是解释型语言,无须编译,可以直接运行

ruby quickstart.rb

image.png

三、Ruby的基础语法

在接下来所使用的IDE工具为 RubyMine,可以从Jetbrain官网进行下载,使用RubyMin创建一个空的项目ruby-quickstart

image.png

新增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',控制台输出如下内容 image.png

在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

image.png

默认除法运算时返回整数,可以使用.to_f强制返回浮点数 image.png

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"

image.png

ruby中可以直接使用 变量名=变量值 的方式来命名变量,而不用声明变量的类型,可以通过 #{变量名} 的方式来使用变量或者获取变量中保存的值

如果使用了没有经过 = 进行定义和赋值的变量,如在最后一行增加代码

# 上面代码保持不变
puts "We have #{total} cars and passengers"

则控制台会报错,提示使用的变量是undefined image.png

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

image.png

要注意使用<<表示字符串时要有结尾