類別 Rinda::Tuple
元組是 Rinda
程式設計中的基本物件。如果元組和範本大小相同,則可以將元組與範本進行比對。
公開類別方法
公開實例方法
[](k) 按一下以切換來源
元組元素的存取器方法。
# File lib/rinda/rinda.rb, line 71 def [](k) @tuple[k] end
each() { |k, v| ... } 按一下以切換來源
遍歷元組,產生索引或金鑰和值,從而確保陣列的遍歷方式類似於雜湊。
# File lib/rinda/rinda.rb, line 86 def each # FIXME if Hash === @tuple @tuple.each { |k, v| yield(k, v) } else @tuple.each_with_index { |v, k| yield(k, v) } end end
fetch(k) 按一下以切換來源
從元組中擷取項目 k
。
# File lib/rinda/rinda.rb, line 78 def fetch(k) @tuple.fetch(k) end
size() 按一下以切換來源
元組中的元素數量。
# File lib/rinda/rinda.rb, line 64 def size @tuple.size end
value() 按一下以切換來源
傳回元組本身
# File lib/rinda/rinda.rb, line 96 def value @tuple end
私人實例方法
hash?(ary_or_hash) 按一下以切換來源
# File lib/rinda/rinda.rb, line 102 def hash?(ary_or_hash) ary_or_hash.respond_to?(:keys) end
init_with_ary(ary) 按一下以切換來源
將 ary
混合成有效的 Tuple
。
# File lib/rinda/rinda.rb, line 109 def init_with_ary(ary) @tuple = Array.new(ary.size) @tuple.size.times do |i| @tuple[i] = ary[i] end end
init_with_hash(hash) 按一下以切換來源
確保 hash
是有效的 Tuple
。
# File lib/rinda/rinda.rb, line 119 def init_with_hash(hash) @tuple = Hash.new hash.each do |k, v| raise InvalidHashTupleKey unless String === k @tuple[k] = v end end