什么是迭代器

Python011

什么是迭代器,第1张

迭代器(iterator)有时又称光标(cursor)是程序设计的软件设计模式,可在容器对象(container,例如链表或数组)上遍访的接口,设计人员无需关心容器对象的内存分配的实现细节。

各种语言实现迭代器的方式皆不尽同,有些面向对象语言像Java,C#,Ruby,Python,Delphi都已将迭代器的特性内置语言当中,完美的跟语言集成,我们称之隐式迭代器,但像是C++语言本身就没有迭代器的特色,但STL仍利用模板实现了功能强大的迭代器。STL容器的数据的内存地址可能会重新分配,与容器绑定的迭代器仍然可以定位到重新分配后的正确的内存地址。

迭代器另一方面还可以集成生成器。

在 ruby 中,{|args| statements} 叫做 匿名函数,就是没有名字的小型函数。然后 each_byte 是一个方法,它接收一个可调用对象。

有时候左花括号可以用 do 代替,有花括号用 end 代替,就是

do |args|

statements

end

这种形式。

字面量方式创建哈希

clear 方法可以清除哈希里面的数据

delete delete_if 可以删除和删除指定条件的键值

reject reject! 也可以删除指定的键值对

invert 方法可以用来颠倒键值对

keys values 可以获取键值的集合

has_key? has_value? 方法可以检测哈希中是否包含指定的键值

each each_key each_value 用于迭代哈希

merge merge! 用来合并两个哈希

symbolize_keys symbolize_keys! 方法用来将所有的键转换为 symbol

按键排升序降序

按值排升序降序