zoukankan      html  css  js  c++  java
  • Ruby入门

    一、Ruby  Introduction:
      Ruby is "an interpreted scripting language for quick and easy object-oriented programming"。
       1. Interpreted scripting language
      • ability to make operating system calls directly
      • powerful string operations and regular expressions
      • immediate feedback during development
       2. Quick and easy
      • variable declarations are unnecessary
      • variables are not typed
      • memory management is automatic
       3.Object oriented programming
      • everything is an object

    二、Variables & Constant : 

      1.Variables

    • Local variables:
        –the scope of a local variable is one of proc{ ... }/loop{ ... }.def ... End/class ... End/module ... end
    • Global variables:
        –It can be referred to from anywhere in a program. Before initialization, a global variable has the special value nil.
    • Instance variables:
        –Its scope is confined to whatever object self refers to.
    • Class variables:
        –Same as the static member in C# language.
     
      Note: Don’t use the Ruby keyword when define a variable.

       2.Constant   

        Definition:
      • A constant has a name starting with an uppercase character.
      • Constants may be defined within Classes or Module, never in method.
      • It should be assigned a value at most once. 

         e.g.:

          class Demo

              PI=3.1415

             #PI=3.15214     #warning: already initialized constant PI

              def hello

                      PI=3.1415  #wrong

              end

          end

          demo = Demo.new

             demo.hello

    三、Comment   

        •Single line:

            #(Ctrl + /)

        •Multi-line

           =begin

              …

              …

          =end

    四、Numeric:

    • Methods:
      • to_f()  #Integer -> Float
      • to_i()  # Float -> Integer, directly delete the part of decimal, if don’t want this, you can use the round method
      • round
      • n.times{|i | …}
      • from.upto(to) {|i| …}
      • from.downto(to){|i| …}
      • from. step(to, step) {|i| …}   
       •Additional:

          a=01123     #0=> Octal

          B=-0x23     #0X=> Hex

          C=+0b1010     #0=> Binary

     五、Range:

      1.Definition:
      • val1.. val2  #contains: val1,…, va2
      • val1val2  #contains: val1,…, val2-1 
         E.g.:
          1..5  #contains: 1,2,3,4,5
          1…5  #contains: 1,2,3,4

       2.Methods:

      • to_a()                     #convert to array
      • Include?(targetValue)/===(targetValue)     #judge whether contains the targetValue
      • min()/begin()/first()              #Get the minimum value
      • max()/end()/last               #Get the maximum value 
      • reject:   Convert to an array and select some element whichdon’t satisfy the conditional
      • select:   Convert to an array and only select some element whichsatisfy the conditional
      • each:    Iterates over the elements and passing each in turn to the block.

        e.g.      

          a=10..20

          puts a. reject{|x| x<15}

          puts

          puts a. select{|x|x<15}

          puts

          a. each{|x| puts x}

  • 相关阅读:
    jdbc框架 commons-dbutils的使用
    SpringBoot整合Quartz和H2的例子
    Microsoft VS 2008 过期解决方法
    数据库事务的隔离级别
    angularJS中ng-if的用法
    angularJS中ng-change的用法
    Hello,Akka
    Yum常用命令及Yum中文手册
    最大堆的插入/删除/调整/排序操作(图解+程序)(JAVA)
    别人要访问我的电脑上部署的tomcat,必须关闭防火墙吗?
  • 原文地址:https://www.cnblogs.com/puresoul/p/2359245.html
Copyright © 2011-2022 走看看