zoukankan      html  css  js  c++  java
  • ruby简单的基础

    好久没写记录东西了,近期决定记录写ruby方面的东西。大家一起学习。

    ruby 基础语法


    1、凝视



    单行凝视 #
    #開始到行末是单行凝视


    多行凝视 
    =begin 


    =end
    多行凝视以=begin開始 以=end结束,
    =begin和=end前不能有其它字符,包含空格。
    一般=begin 和 =end独占一行,这样看起来比較清晰。


    Ruby中用;来表示一个语句结束。假设一行有多个语句。每一个语句能够用。隔开,最后一个。能够省略。


    换行表示一行结束。假设语句太长的话,我们能够用连接下一行。表示这行还没有结束。

    #puts "this is a line01"
    puts "hello,world!"
    
    =begin
    puts "this is a line02"
    puts "this is a line03"
    =end
    puts "this is a line04"
    
    
    puts "this is a mutiple"
      " line..."
    
    
    =begin puts "hello"
    =end 
    puts "dear.."


    2、分隔符



    3、keyword

    模块定义:module
    类定义:class
    方法定义:def
    条件语句:if。then,else,elsif。case,when。unless
    循环语句:for。in,while。until,next,break,do
    逻辑推断:not。and。or
    逻辑值:true,false
    空值:nil
    异常:rescue。ensure
    块的起止:begin,end
    嵌入模块:BEGIN,END
    方法返回:return
    别名:alias


    4、运算符

    和其它语言差距不大,不多说啦。
    逻辑或 or
    逻辑与 and
    没有 i++ ;这种东西。你因该 i += 1;


    5、标示名

    ruby的标示名区分大写和小写。标示符名字的第一个字符表明了它的使用方法。


    变量首字母后能够跟数字、字母、下划线随意组合。可是@后面不能够直接跟数字。


    局部变量、方法參数、方法名字 应该用一个小写字母或者下划线开头
    全局变量 应该用美元符$作为开头
    实例变量 应该用@开头
    类变量 应该用@@开头
    类名、模块名、常量 应该用大写字母开头


    6、数据类型

    ruby的数据类型有:数字、字符串、数组、哈希表、区间、正则


    数字
    整数:1。110
    浮点:1.0,110.0,11.1e4,浮点小数点后必须跟数字。11.e5是错误的


    字符串
    ‘’或“” 之间的字符


    数组
    数组的每一个元素能够是不同的类型。


    区间
    1..6 表示 1,2。3。4。5,6。左闭右闭区间 []
    1...6 表示 1。2,3,4,5; 左闭右开区间 [)


    7、条件运算符





    8、条件推断



    单行if语句
    1、if 条件 then 语句1。语句2;语句3。end
    2、(语句1。语句2;语句3; ...) if 条件


    多行if语句


    if 条件1
    语句1;
    elsif 条件2
    语句2。
    end

    unless 条件 和 if not 条件一样,不习惯这种写法。




    case 对象
    when 可能性1
    语句1
    when 可能性2
    语句2
    else
    语句3
    end


    和我们熟悉的switch 相似


    9、循环

    单行while
    (语句1;语句2;...) while 条件


    多行while
    while 条件
    语句;
    end


    for 变量 in 对象(数组,区间,集合)
    语句1;
    语句2;
    end
    和oc中的for in 相似


    在循环体中,假设遇到:
    break,跳出当层循环
    next,忽略本次循环的剩余部分,開始下一次循环,和continue相似
    redo,又一次開始循环,可是还是从本次開始
    retry。从头開始这个循环体




    10、times,upto,downto,each,step



    times。upto,downto 是Integer的方法
    num.times{

    }
    或者
    num.times do
    end
    反复一个代码块 num次


    num.upto(limit) {|i| block}
    从num到limit,迭代block,i >= num, i <=limit


    num.downto(limit) {|i| block}
    从num到limit,迭代block,i <= num, i >=limit




    step是区间的方法


    each是数组的方法
    数组.each {|i| block}
    遍历一边对象中的元素
    5.times {
      puts "i love you.."
    }
    5.times do 
      puts "i love you too.."
    end
    
    1.upto(5){|i| puts i}
    
    5.downto(2) do 
      |i| puts i
    end
    
    (1..6).each { |i| puts i}
    
    1.step(10,3) { |i| puts i}
    puts "...."
    10.step(1,3) { |i| puts i}



  • 相关阅读:
    FZU 2150 Fire Game
    POJ 3414 Pots
    POJ 3087 Shuffle'm Up
    POJ 3126 Prime Path
    POJ 1426 Find The Multiple
    POJ 3278 Catch That Cow
    字符数组
    HDU 1238 Substing
    欧几里德和扩展欧几里德详解 以及例题CodeForces 7C
    Codeforces 591B Rebranding
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7000549.html
Copyright © 2011-2022 走看看