Ruby入门1
由于部门的自动化是由一个前辈实现的,他使用的Ruby的语言来实现的,所以需要学习一下Ruby语言,争取在15天左右可以掌握Ruby语言!加油~~~
1、常量&变量
# 1、常量
# 一般用大写字母开头
# 我们一般用全大写来定义一个常量
# # 定义一个常量
VAR1 = 100
VAR2 = 20 # 在字符串中打印这个常量
puts "#{VAR1}" # 转换常量为字符串
puts "#{VAR1.to_s}" # 2、变量
# 全局变量是最顶级变量,用$符开头,可以在类中使用,可以在方法中使用功能,可以在模块中使用
# $info = "我这是一个全局变量" # Ruby语言中自带的全局变量 # $! 最近一次的错误信息
# $@ 错误产生的位置
# $_ gets最近读的字符串
# $. 解释器最近读的行数
# $& 最近一次和正则表达式匹配的字符串
# $~ 作为子表达式组的最近一次匹配
# $n 最近匹配的第n个子表达式
# $= 是否区分大小写的标志
# $/ 输入记录分隔符
# $\ 输出记录分隔符
# $0 脚本的文件名
# $* 命令行参数
# $$ 解释器进程id
# $? 最近一次子进程退出的状态 #
# 局部变量只能在作用域中使用 # 必须以小写字母或者下划线开头 _info = "我这是一个局部变量" puts _info # 在类中定义一个局部变量
class TestClass
_info = "类中的局部变量"
puts _info
puts $info
end # 在模块中定义一个局部变量
module TestModule
_info = "模块中的局部变量"
puts _info
end # 在方法中定义局部变量Te
def testFunc
_info = "这个是方法中的局部变量"
puts _info end puts $$
2、数值型
# 数值型 整数 浮点型
#
# 整数有两种类型,Fixnum Bignum
#
# 当整数大于2的30次方,则类型为Bignum
# 当整数小于2的30次方,则类型为Fixnum i = 2 # .class方法,查看变量的类型
#
puts i.class
# Integer
#
f = 12.33
puts f.class
# Float
3、范围
# 范围:定义两个边界就可以了
# r1 = 3..5 #包含5
r2 = 3...5 #不包含5 puts r1 === 5
puts r2 === 5
puts r1 === 3
puts r2 === 3 # true
# false
# true
# true # ===判断右边的对象是否在左边的对象内
#
# 范围是一个对象,我们看下这个对象有什么方法
# a1 = r1.to_a
# to_a方法,转换一个范围为一个数组
#
puts a1.class
# Array
# puts r1.max
# 求一个范围的最大值
puts r1.min
# 计算一个范围的最小值
puts r1.first
# 计算一个范围的第一个值
#
puts r1.last
# 计算一个范围的最后一个值 puts r1.end
# 计算一个范围的最后一个值
#
#
#
puts a1.size
# 计算数组的长度
puts a1.length
# 计算数组的长度
# # 范围还有3个常用的迭代器方法
# # regect 将该范围转换为一个数组,并删除满足条件的元素
# # select 将该范围转换为一个数组,并保留满足条件的元素
# # each 输出迭代范围的每一个元素
#
三个迭代器的用法
# 范围还有3个常用的迭代器方法
# # regect 将该范围转换为一个数组,并删除满足条件的元素
# # select 将该范围转换为一个数组,并保留满足条件的元素
# # each 输出迭代范围的每一个元素
# count = 1..10 print count.reject{|i| i % 2 == 0} print "\n"
print count.select{|i| i % 2 == 0} print "\n" count.each do |i|
puts i
end
4、符号
# 符号
# 符号对象是一个字符串,一个类,一个方法或者一个标识符的内部表示形式,创建符号对象就在对象前面加一个冒号就可以了
# dcy = "我是你的粉丝" ly = :dcy puts ly == :"dcy" # 判断ly是否是变量dcy的对应的符号对象
#
def fangfa
puts "我记得你"
end fy = :fangfa puts fy == :"fangfa" # 只要对象名相同,则产生的符号对象也相同,由于字符串和符号对象之间是一一对应的,所以字符串和符号对象就额可以通过to_s和to_sym来互相转换 dcy = "我是你的封死"
dy = :"我是你的封死" puts dcy.to_sym == dy puts dy.to_s == dcy dcy = "我是你的封死"
ly =:dcy # 构建一个符号对象的方法2
dcyandy=%s{dcy} puts ly == dcyandy
5、运算符和赋值运算符
# 算数运算符和赋值运算符 # 算数运算符 # **
# *
# +
# -
# /
# %
#
# 赋值运算符
# =
# +=
# -=
# *=
# /=
# %=
# **=
#
Ruby入门1的更多相关文章
- Ruby入门--Linux/Windows下的安装、代码开发及Rails实战
Ruby入门--Linux/Windows下的安装.代码开发及Rails实战 http://www.linuxidc.com/Linux/2014-04/100242.htm Ubuntu 13.04 ...
- Ruby入门笔记
Ruby入门笔记 一切皆为对象 “Hello”.length 方法 定义:def开头 end结尾 命名一般采用下划线分隔单词
- Ruby入门教程和技巧
转自:http://blog.csdn.net/cqfz123/article/details/1349050 Ruby真的比Java更好? Ruby On Rails 创始人:对Java 说再见 ...
- 【转】Ruby入门教程(一)
1. Ruby环境搭建 在Windows下,搭建Ruby环境,比较简单的方法是在“RubyInstaller”上下载一个合适的版本(D瓜哥使用的是最新版),直接安装就可以了. 另外,吐槽两句,网上有人 ...
- Ruby入门(1)——windows下Ruby开发环境搭建
1.获得和安装Ruby1.1 获取Ruby 1) 从 http://www.ruby-lang.org/en/downloads/ 下载Source Code或者RubyInstaller ...
- 【转】教你Ruby快速入门
转自:http://developer.51cto.com/art/200703/41243.htm 介绍 这是一个短小的Ruby入门,完全读完只需20分钟.这里假设读者已经安装了Ruby,如果你没有 ...
- Ruby相关图书推荐
Ruby基础教程第4版 作 者 [日] 高桥征义,[日] 后藤裕藏 著:何文斯 译:[日] 松本行弘 校 出 版 社 人民邮电出版社 出版时间 2014-09-01 版 次 4 页 ...
- Ruby学习资源汇总
from:http://segmentfault.com/a/1190000000362058 Ruby 语言 Try Ruby: 无需在你的系统中安装.Ruby,只要通过浏览器便可立即体验 Ruby ...
- 【转】如何从零开始学会 Ruby on Rails?
文章转自:http://huacnlee.com/blog/how-to-start-learning-ruby-on-rails/ 这个话题曾经给身边的很多朋友说过同样的话题,这里整理以下. 如果你 ...
随机推荐
- Ubuntu修改时间
Ubuntu修改时区和更新时间 先查看当前系统时间 date -R 结果时区是:+0000 我需要的是东八区,这儿显示不是,所以需要设置一个时区 运行 tzselect 在这里我们选择亚洲 Asia, ...
- php使用phpqrcode生成二维码
前期准备: 1.phpqrcode类文件下载,下载地址:https://sourceforge.net/projects/phpqrcode/2.PHP环境必须开启支持GD2扩展库支持(一般情况下都是 ...
- Elasticsearch系列---初识搜索
概要 本篇主要介绍搜索的报文结构含义.搜索超时时间的处理过程,提及了一下多索引搜索和轻量搜索,最后将精确搜索与全文搜索做了简单的对比. 空搜索 搜索API最简单的形式是不指定索引和类型的空搜索,它将返 ...
- hdu 2089 不要62 (数位dp基础题)
不要62 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- 学生选课系统v1.0
最近两天写了下老师课上留的作业:学生选课系统.感觉自己写的特别麻烦,思路特别不清晰,平常自己总会偷懒,一些太麻烦细节的功能就不去实现了,用简单的功能来替代,直到自己这回写完这个系统(但自己写的比较lo ...
- distcc 的使用
在项目的开发过程中,经常出现多个开发人员集中在某个 linux 内网开发机上统一开发的情况,随着开发人员越来越多.项目编译得越来越频繁,开发机的压力越来越大,所以考虑用代码交叉编译的方式来缓解开发机的 ...
- python基础之字符串讲解(上)
字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或者")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.For example: 为str输入一个变量,p ...
- ubuntu1604环境下mariadb启动卡住报错和apparmor基本使用
问题描述:Ubuntu 1604 新环境下使用apt安装的mariadb10版本,结果第二天就起不来了,很是郁闷 启动时会卡住,当时就慌了,这什么情况啊,昨天好好的今天就起不来了,过了一会儿就有返回信 ...
- k8s采坑记 - 证书过期之kubeadm重新生成证书
重新生成证书 证书备份 cp -rp /etc/kubernetes /etc/kubernetes.bak 移除过期证书 rm -f /etc/kubernetes/pki/apiserver* r ...
- Nacos 集群部署
关于nacos 集群部署,网上的示例往往不全或不可用,而官方的教程太简单了.官方也提供了一个 docker + nacos 的伪集群的 部署示例.但毕竟是 伪, 不能实际生产使用. 全网就几乎就没有 ...