美文网首页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