RubyRuby、Rails知识

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

2018-09-27  本文已影响8人  Hollow_Knight

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

静态类型

动态类型

块的一些奇妙的用法

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)

上一篇下一篇

猜你喜欢

热点阅读