Ruby 基础1

1.  Ruby中的命名规则

1)局部变量名、方法参数名、方法名均以小写字母和下划线开头,多单词的名称一般以下划线连接;例如:change_to、class_name

2)实例变量名以@开头,类变量以@@开头;例如:@book、@@books

3)全局变量以$开头;

4)类名、模块名、常量名均以大写字母开头,多单词的名称以大写字母进行分辨。例如:Book、FileType、常量一般全部都是大写

注:@之后不能跟数字

2.  Ruby中方法的定义

def  方法名(参数)

     。。。。。

     。。。。。

end

用return返回值,若无return,则返回函数体中最后一个表达式的计算结果。

 

类方法定义、类方法直接使用类名调用、普通方法使用类实例调用

ClassBook

def self.name

        “book

end

 

def model_name

    “model”

end

end

 

Book.name

@book =Book.create

@book.model_name

 

 

3.  Ruby的数据类型

1)字符串类型

字符串值加单双引号的区别

单引号内的文本即为字符串的值;双引号内的文本,Ruby首先用二进制的值替换带反斜杠的字符,如\t,\n,其次Ruby将把双引号内的#{表达式}替换成表达式的值。

注:string.capitalize功能是:将字符串的首字母改为大写(功能太多不用一一列出、简单看看记住功能的大概范围、用的时候查查就行了)

string.length:求字符串的长(size和length一样)

string.index(char):查询char字符在string中的位置,指标从0起

例如:

p “#{Book.name}\”name” => “book”name”

 

2) 数组和散列表(哈希表) Array、Hash

数组以整数作为键值,散列表以任何对象最为键值,两者均可存储任意对象(网上分别有比较全的数组和哈希常用方法列表,找到各自的网页保留下、包括排序、过滤、kv互换、遍历等功能)

a)  数组 array

定义: a = [ 1, ‘v’, “dfdf” ] 

or  a = %w{abc  fdd  1}相当于  a=[‘abc’ , ‘fdd’ , ‘1’]

访问: a[i],指标从0起

 

b)   散列表 Hash(hash的子类型,hash本身是无序的,但是有个子类型的hash是有序的)

定义: a = { ‘a’ => 1, ‘b’=>’dfdfd’},key=>value模式

访问: a[ key ],若hash中无此key,则返回nil

3) 日期类型(Date、Time)

4) 数字类型(Integer、Float、Double)

4.  循环控制结构

1) if..else..

if ..

elsif …

……

else …

…..

end

注:

if  条件

语句(1句)

end

 

语句  if  条件

 

ó

 

 

 

l   

 


    unless 在判断上与if相反

 

2)三项判断符 ? :

    1=1 ? 1 : 0       => 1

 

一般判断条件需要连接 && 与 ||

 

 

3) while

while  …and/or…

……

end

注:

while  条件

语句(1句)

end

 

语句  while  条件

 

ó

 

 

 

 

 

 


一般在递归方法或者循环中使用

 

 

 

4) each

      

       @books.each do |book|

           p book.model_name

       end

 

for in

 

@books.map{|book|book.model_name } => [“model”]

map用于创建新数组

arr.map { |a|2*a }   #=> [2, 4, 6, 8, 10]

arr                  #=> [1, 2, 3, 4, 5]

arr.map! { |a|a**2 } #=> [1, 4, 9, 16, 25]

arr                   #=> [1, 4, 9, 16, 25]

 

 

 

5.  正则表达式

 

1)/匹配模式1 |  匹配模式2/: | 为管道,要么满足模式1,要么满足模式2

2) /c+/:匹配一个或是多个c

3)/c*/:匹配零个或是多个c

4)/\s/:匹配一个空白符

5)/\d/:匹配任意一个数字

6)/ . /:匹配任意一个字符

 

应用:

a)  模式匹配用在条件语句中时, 用 ‘ =~ ’,如‘ php’ =~ ‘ python | php’ 作为条件时,返回true

b)  替换字符串

line.sub(/php/, ‘ruby’)   用ruby替换掉line中第一个出现的php

line.gsub(/php/, ‘ruby’)   用ruby替换掉line中所有的php

line.gsub(/php |python/, ‘ruby’)   用ruby替换掉line中所有的php及python

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值