美文网首页RubyRuby、Rails知识
《松本行弘的程序世界》总结(1)

《松本行弘的程序世界》总结(1)

作者: Hollow_Knight | 来源:发表于2018-09-27 11:49 被阅读8次

    静态语言和动态语言的优缺点

    静态类型

    • 优点:

      1. 编译时能够发现类型不匹配的错误
      2. 制定了相应的数据类型,那么编译时用的信息就更多,速度就更快了。
      3. 方便于我们看程序
    • 缺点:

      1. 我们在编写程序时,要定义一个个的数据类型,太繁琐了,有时候单纯的为了指定程序类 型而去写。
      2. 太有局限性了,某个变量只能赋值一种数据类型。

    动态类型

    • 优点:

      1. 源码简洁。
      2. 边解释边执行
      3. 便于阅读
    • 缺点:

      1. 不执行就检测不出错误
      2. 至多只能发现程序的语法错误

    块的一些奇妙的用法

    f = open(path)
    begin
      ...
    ensure
      f.close
    end
    

    等价于

    open(path) {|f|
      ...
    }
    

    如果给open传递了块,那么就在结束时文件就可以自动关闭。

    Eumerable 来利用块

    all?                   # 是否全部为真
    all?{|x| ...}          # 块是否对所有的元素都为真
    any?                   #  是否有元素为真
    any?                   # 块是否有元素为真
    select                 # select=find_all 
    
    detect                 # find找到第一个元素
     a = [1,2, 3,4]
    a.detect{ |x| x%2 == 0}
    # result
    # 2
    
    # 真假结果都有的
    a = [1, 2, 3, 4]
    a.partition {|x| x%2 == 0}
    # result
    # [[2, 4], [1, 3]]
    
    sort 
    sort_by       # 一次性将元素全部处理之后再排序
    

    如果我想得到一个Enumerator对象
    str.enum_for(:each_byte)

    相关文章

      网友评论

        本文标题:《松本行弘的程序世界》总结(1)

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