1. Ruby基础知识

1. Ruby执行选项

符号 作用
-c 检查代码正确性
-w 警告模式运行
-e 字面脚本
-l 行模式运行

单独

ruby -c Hello.rb

组合

ruby -le 'print "Hello";print "Ruby"'

2. 常量,变量

2.1 常量

通常以首字母大写或全部大写为常量。

CON1=1000
puts "I got"+CON1.to_s+"RMByuan"
CON1=100 #不报错但是给出警告
puts "Now only"+CON1.to_s+"yuan"

2.2 变量

2.2.1 局部变量

类,模块,方法这些作用域里面有效。下划线_,a-z开头。

2.2.2 全局变量

作用于全局。以$开头
Ruby自带全局变量:

全局变量 说明
$0 Ruby脚本文件名
$* 命令行参数
$= 是否区分大小写
$_ 最近读的字串

3. 数据类型

3.1 数值

两种整形Fixnum,Bignum,一种Float型,数据类型也是对象。用.class 来查看当前变量的数据类型。

i=2**30 #基本数据类型也是一个对象
k=2**30-1
puts "i="+i.to_s+"类型是"+i.class.to_s #.class可以得到该数值的类型
puts "k="+k.to_s+"类型是"+k.class.to_s
f=3.1415
puts "f="+f.to_s+"类型是"+f.class.to_s

i=1073741824类型是Bignum
k=1073741823类型是Fixnum
f=3.1415类型是Float

3.2 范围

=== 来判断右边对象是否在左边对象里面

#..与...的区别
a=1..5
b=1...5
print "a的元素是"
a.each do|i|
    print i.to_s
end
puts "\n",a===5
print "b的元素是"
b.each do|i|
    print i.to_s
end
puts "\n",b===5

a的元素是12345
true
b的元素是1234
false

常用方法:

方法 说明
to_a 转换成一个数组
include?() 或者 === 是否包含
min() begin() firsst() 最小值
max() end() last() 最大值

常用迭代器

迭代器 说明
regect 转为数组,删除满足条件元素
select 转为数组,选择满足条件元素
each 输出迭代范围中每个元素

其中each最为常用,演示如下

a=1..10
a.each do|i|
    print i.to_s+"  "
end

1 2 3 4 5 6 7 8 9 10

3.3 符号

符号对象是 字符串,方法,类,或者标识符的内部表示形式。
:或者 %{} 创建符号对象

str1="good morning"
sym1=:"good morning"
puts str1==sym1 #比较对象
puts str1.to_sym==sym1 #字符串转成符号后比较内容
puts sym1.to_s==str1 #符号转成字符串后比较内容

false
true
true

4. 运算符

  1. 基本:求余 % , 乘方 ** 其他:+,-,*,/
  2. 赋值运算:=,+=,-=,#=,/=,%=,**=
  3. 位运算符:
位运算符 说明 位运算符 说明
& 按位 与 << 向左移位
>> 按位 或 >> 向右移位
~ 按位非 ^ 异或

4. 比较运算

运算符 说明 运算符 说明
!= 不等于 =~ 正则表达式匹配
<=> 比较两对象结果1,0,-1 !~ 正则表达式不匹配

5. 逻辑运算

逻辑运算符 含义
&& 逻辑“且”
|| 逻辑“或”
逻辑“非”

6. 三目运算符
score<600? "仍需努力":"考上复旦没问题"

5. 语句

5.1 if

if(条件) then
    代码块
elsif(条件)
    代码块
else
    代码块
end

if 对应的是 elsif 而不是elseif.
可以省略then关键字

unless与if相反,unless后面的语句结果是true时执行 第二个代码块,否则执行第一个代码块

unless(条件) then
    代码块1
else
    代码块2

你可能感兴趣的:(Ruby笔记,ruby)