ruby基础笔记(0)

条件判断

if 条件 then

    条件成立时的要执行的处理

end

#then可以省略

循环

  • while语句

while 循环条件 do

    希望循环的处理

end

  • times方法

循环次数.times do

    希望循环的处理

end

P方法

  • 使用print或者puts时无法很好区分字符串“1”和数值1,使用p方法可以很好区分
    puts "100" #=> 100
    puts 100   #=> 100
    p "100"    #=> "100"
    p 100      #=> 100
  • 使用P方法使,换行符\n,制表符\t等特殊字符不会转义
    puts "Hello, \n\tRuby."
    p "Hello, \n\tRuby."
    执行结果为
    > ruby puts_and_p.rb
    Hello,
            Ruby.
    "Hello, \n\tRuby."

数组

  • 数组的元素可以是不同种对象
    mixed = [1, " 歌 ", 2, " 风 ", 3]
  • 数组的大小
    array.size
  • 数组的循环

数组.each do |变量|

 希望循环的操作

end

>>irb
>>names=["张三","李四","王五"]
=>["张三","李四","王五"]
>>names.each do |n|
?>puts n
>>end
张三
李四
王五

散列

符号与字符串对象相似,可理解为轻量级的字符串

  • 创建符号,在字符串开头加:
    sym = :foo
    sym2 = :"foo"
  • to_s方法和to_sym方法
    >irb 
    >>sym = :foo
    =>:foo
    >>sym.to_s      #将符号转换为字符串
    =>"foo"
    >>"foo".to_sym#将字符串转换为符号
    =>:foo
    >>:foo.to_s       #将符号转换为字符串
    =>"foo"
    
    
    
    
  • 创建散列
    address = {:name => "高桥", :pinyin => "gaoqiao", :postal => "1234567"}
    或者
    address = {name: "高桥", pinyin: "gaoqiao", postal: "1234567"}
    散列由键值和对象组成。
  • 散列的使用
    > irb --simple-prompt
    >> address = {name: "高桥", pinyin: "gaoqiao"}
    => {:name=>"高桥", :pinyin=>"gaoqiao"}
    >> address[:name]                                  #散列名[键值]
    => "高桥"
    >> address[:pinyin]
    => "gaoqiao"
    >> address[:tel] = "000-1234-5678"                 #散列名[键值]=希望保存的对象
    => "000-1234-5678"
    >> address
    => {:name=>"高桥", :pinyin=>"gaoqiao", :tel=>"000-1234-5678"}
  • 散列的循环
    >> address.each do |key, value|
    ?> puts "#{key}: #{value}"
    >> end
    name: 高桥
    pinyin: gaoqiao
    => {:name=>"高桥", :pinyin=>"gaoqiao"}

正则表达式

  • 匹配正则表达式与字符串的方法是: / 模式 / =~ 希望匹配的字符串,若成功返回匹配成功的位置,字符的位置从0开始;若匹配失败,返回nil。
    > irb --simple-prompt
    >> /Ruby/ =~ "Ruby"
    => 0
    >> /Ruby/ =~ "Diamond"
    => nil
  • 字符串中包括空格不占字符位置。
    > irb --simple-prompt
    >> /Ruby/ =~ "Yet Another Ruby Hacker,"
    => 12
    >> /Yet Another Ruby Hacker,/ =~ "Ruby"
    => nil
  • 正则表达式右边的 / 后面加上 i 表示不区分大小写匹配。
    >> /Ruby/ =~ "RUBY"
    => nil
    >> /Ruby/i =~ "ruby"
    => 0


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值