美文网首页
再读《为你自己学Rails》提取记录

再读《为你自己学Rails》提取记录

作者: 黄鸿亮 | 来源:发表于2018-06-07 22:32 被阅读0次

    2个月后再来看这本书,依然有很多新的领悟。以下是新的领悟的记录。

    1. Railsr 特点与理解:
      • 特别具有生产力
      • 有大量的第三方套件
      • 短时间把想做的东西做出来,有更多的时间可以去玩,做自己想做的事情。
    2. ​Ruby 的重点,在于可以用自然、简短的语法开发你想要的功能
    3. 而Rails 的重点则是可以快速的打造出产品雏型,让产品早点上线试一下水温,试一下商业模式是否可以运作
    4. ruby是一个物件化很彻底的语言。

    基础知识

    1. p print puts 区别

      • Print 不会换行
      • puts会换行
      • p 会有返回值,其他的没有。
    2. 区域变量是没有默认值的,实体变量和全局变量有默认值nil

    3. 把指定变量的过程,想象成贴标签

      「一張有寫著名字的標籤,貼在某個東西上面」,被貼的那個東西有形態,但標籤本身沒有,所以這樣寫是不會有任何問題的

        name = "見龍"    # 原本是指向一個字串物件
        name = 18       # 這樣會把 name 變數改指向一個數字物件
      
    4. 变数指定:

      a, *b = 1, 2, 3, 4
      # => a = 1, 變數 b 前面的星號會讓 b 接收剩下的數值變成一個陣列 [2, 3, 4]
      
    5. 在ruby中只有nil false 会实当成

    6. 原来有一个语法if not ,相当于unless

    7. "" '' 在字符串中的用法区别:

      前者允许插入变量,后者无法插入变量

    8. 想要知道某個字母在字串中共出現幾次?

      words = "Lorem Ipsum Dolor Sit Amet, Consectetur Adipiscing Elit."
      
      puts words.count("i")    # => 算出有幾個 i,共有 5 個
      puts words.count("A-Z")  # => 算出所有大寫字母,共有 8 個
      puts words.count("a-z")  # => 算出所有小寫字母,共有 39 個
      
    9. 两个 随机抽取的方法:

      puts [*1..52].shuffle.first(5)
      puts [*1..52].sample(5)
      
    10. Symbol是:带有名称的物件,与字符串的区别:

      • 本身代表一种状态,带有名称
      • 本身不能被修改
      • 无法当变量用
      • 性能比字符串稍好一点点点
    11. 字母在字串中出现几次?

        words = "Lorem Ipsum Dolor Sit Amet, Consectetur Adipiscing Elit."
      
        puts words.count("i")    # => 算出有幾個 i,共有 5 個
        puts words.count("A-Z")  # => 算出所有大寫字母,共有 8 個
        puts words.count("a-z")  # => 算出所有小寫字母,共有 39 個
      
    12. 数组的first last方法是ruby提供的方法,second third 是Rails提供的方法。

    13. 取随机数最方便的作法:

      [*1..100].sample(5)    #取5个随机数
      
    14. 定义默认方法可以这么简单:

         def say_something(message = "something")
          "message: #{message}"
        end
      
        p say_something "hi"     # => message: hi
        p say_something          # => message: something
      
    15. Block嵌套Block,需要用到yield来定义是否让调用时带的block执行。

    16. do…..end { } 的区别:

        p [*1..10].map { |i| i * 2 }
        # => 得到 [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
      
        p [*1..10].map do |i| i * 2 end
        # => 得到 <Enumerator: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:map>
      

      do….end的优先级稍等差一点点

    相关文章

      网友评论

          本文标题:再读《为你自己学Rails》提取记录

          本文链接:https://www.haomeiwen.com/subject/blwnsftx.html