zoukankan      html  css  js  c++  java
  • Ruby小白入门笔记之<个人记录档>

                    书写缘由


          快两年的JAVA开发,因为来到一家新公司,产品需要用Ruby开发,故此才有了这从头开始,一入编程深似海啊......

          因为入门时是JAVA,所以理念跟规范早已形成,故此感觉突然采用Ruby编程,在开发上有种说不出的不习惯,看着那些似JAVA又比JAVA语法更简单的代码,就来的既陌生又熟悉。废话不多说,可能还是因为Ruby地位问题,百度的资料少之又少,所以才打算写篇博文,记录自己的从头开始。也希望大家一起讨论,同时欢迎大牛指出不足,提出异议。

                    开发环境


      参考我的另一篇博文,根据步骤配置

      Ubuntu16.04小白入门分享之 玩转Ruby你需要安装什么软件(持续更新)

                    基础知识


     以下都是个人理解,具体还需看官自己理解。

    1.基本概念:

         Ruby是一门面向对象的编程语言,这点跟JAVA一样,但是它属于脚本语言,可以直接控制台交互,所以不用像JAVA一样需要编译成字节码才能运行。Ruby的文件扩展名是 .rb,你可以使用任何一种文本编辑器,window自带的记事本也好,EditPlus也罢,只要把后缀改为.rb就可以了,接着在window中使用cmd命令提示符,Ubuntu系统使用终端输入 ruby filename(文件名).rb  就可以让它产生结果。

      如果你有JAVA编程基础,就知道一些功能的实现需要导入一些jar包支持,那么Ruby中的每个项目下的Gemfile文件就是项目的依赖文件,而使用bundle install命令就可以添加好Gem中的管理。

      注意,虽然Ruby支持在window开发,但是个人还是建议用Ubuntu,可避免一些不必要的错误。

    2.开发工具:

      Rubymine  :是一个为Ruby 和Rails开发者准备的IDE,其带有所有开发者必须的功能,并将之紧密集成于便捷的开发环境中。 JetBrains公司产品,跟JAVA中IDEA是同系列产品。

    3.注解:

         单行注释  #                                 Rubymine快捷键  ctrl+/

         多行注释  =begin  ...  =end           Rubymine快捷键  ctrl+shift+/

    4.特征:

    • 标准的面向对象特性,比如类与方法

    • 一切皆为对象

    • 弱类型变量

    • 简捷方便的使用库

    • 简单易学的语法

    • 垃圾回收器

    • 丰富的反射功能

    • 用户级线程

    推荐学习网站(都是自己翻度娘翻到的,个人感觉是干货):

      菜鸟教程 : http://www.runoob.com/ruby/ruby-tutorial.html

      简书        : https://www.jianshu.com/p/129aab03871b

      慕课网     :http://www.imooc.com/article/13115

                    扭转概念


         在Ruby中的赋值没有JAVA来的规范不用定义变量类型,就类似于JAVA10的新特征,用var可代表所有类型,而Ruby直接写个变量名即可

      a="java"
      b=123
      c=1.4
      d=[1, 2 , "Hello World"]
      e= 1...10

        数据类型:

       Ruby支持的数据类型包括基本的Number、String、Ranges、Symbols,以及true、false和nil这几个特殊值,同时还有两种重要的数据结构——Array和Hash。

        四种类型的变量:

       局部变量以小写字母或 _ 开始。以$开头的一定是全局变量,以@开头的都是实例变量,而以@@开头的是类变量

         对象的创建:

    #new方法等于JAVA中的Test t=new Test();是属于类方法,在 Ruby库中预定义
    demo1 = Demo.new
    demo2 = Demo.new
    
    #格式
    # 对象名称 = 类名.new
    

      

      初始方法:

    #等同于JAVA中的无参构造函数,是在调用new方法时执行,在创建类时使用initialize声明方法
    #举例:
    class Demo
       @@of_demo=0
       def initialize(id, name, addr)
          @de_id=id
          @de_name=name
          @de_addr=addr
       end
    end
    
    
    #创建对象
    demo1 = Demo.new("1","JAVA","Think in Java")
    demo2 = Demo.new("2",".NET","Web Primer")
    
    #综上可看出,在 initialize 方法中,把这些局部变量的值传给实例变量 @cust_id、@cust_name 和 @cust_addr。在这里,局部变量的值是随着 new 方法进行传递
    

      方法的定义

    #在JAVA中方法定义是
    #public void test(){}
    
    #Ruby方法是,方法名以小写字母开头,以关键字def开始,end结束
    
    class Sample
       def function
          statement 1
          statement 2
       end
    end
    

      循环

    #在ruby中虽然有while、do..while、for、until循环语句,但是在ruby中一般使用迭代来做循环操作
    
    #举例
    #Ruby each迭代器
    (1...5).each do |i|   
       puts i   
    end
    
    #Ruby times迭代器,x为执行指定次数,假如输入为5,则打印出 0,1,2,3,4
    x.times do |variable|  
      code...  
    end
    
    
    #Ruby upto迭代器,x,y代表从多少到多少的迭代
    
    x.upto(y) do |variable|  
      code  
    end
    
    #Ruby step迭代器,controller代表范围,x代表需要跳过的范围,假如controller为10..100,x为5,则打印为10,15,20,25,30,35,40,45......
    
    (controller).step(x) do |variable|  
      code  
    end
    
    #Ruby each_line 迭代器,是为了迭代字符串中的行,line代表前面的字符串,打印结果为
    All
    the
    words
    ...  
    
    "All 
     the 
     words 
     are 
     printed 
     in 
     a 
     newline.".each_line do |line|   
        puts line   
    end
    

      

    待续...

  • 相关阅读:
    简单明了的带你理解springboot原理和三大核心注解
    Spring Boot(一):入门篇
    【Mysql优化】聚簇索引与非聚簇索引概念
    Mysql索引原理与优化
    Mysql全文索引的使用
    索引的优缺点,如何创建索引
    184 01 Android 零基础入门 03 Java常用工具类03 Java字符串 02 String类 04 例:字符串与byte(即:字节)数组间的相互转换
    183 01 Android 零基础入门 03 Java常用工具类03 Java字符串 02 String类 03 String常用方法(下)
    182 01 Android 零基础入门 03 Java常用工具类03 Java字符串 02 String类 02 String常用方法(上)
    181 01 Android 零基础入门 03 Java常用工具类03 Java字符串 02 String类 01 String常用方法简介
  • 原文地址:https://www.cnblogs.com/lwh-note/p/9173653.html
Copyright © 2011-2022 走看看