class Array
Public Instance Methods
Rappresentazione per stampa.
# File lib/italian/ruby/metodi/array.rb, line 134 def _stampa(i = 0) return "[]" if empty? spazi = i.times.map { " " }.join spazi_valori = (i + 2).times.map { " " }.join [ "[", *self.map do |e| "#{spazi_valori}#{e._stampa(i + 2)}," end, "#{spazi}]" ].join("\r\n") end
Esegue i metodi specificati per ogni elemento della lista.
# File lib/italian/ruby/metodi/array.rb, line 19 def campiona(*method_names) self.map do |element| method_names.map do |method_name| if element.respond_to? method_name element.send method_name elsif element.is_a? Hash element[method_name] else raise ArgumentError, "Array elements do not respond to #{method_name}." end end end end
Congela in profondità la lista.
# File lib/italian/ruby/metodi/array.rb, line 77 def congela_in_profondità self.each do |element| next unless element.respond_to? :congela_in_profondità element.congela_in_profondità end self.freeze self end
Determina se una lista non è nullo e non è vuoto.
# File lib/italian/ruby/metodi/array.rb, line 7 def esiste? !nil? && !empty? end
Converte la lista in una mappa.
# File lib/italian/ruby/metodi/array.rb, line 106 def in_mappa(&block) if block_given? self.map(&block).to_h else self.to_h end end
Mappa
e appiattisce in un unico metodo.
# File lib/italian/ruby/metodi/array.rb, line 100 def mappa_e_appiattisci(&block) self.map.with_index(&block).flatten end
Mappa
e compatta in un unico metodo.
# File lib/italian/ruby/metodi/array.rb, line 94 def mappa_e_compatta(&block) self.map.with_index(&block).compact end
Mappa
e rimuove duplicati in un unico metodo.
# File lib/italian/ruby/metodi/array.rb, line 88 def mappa_e_rimuovi_duplicati(&block) self.map.with_index(&block).uniq end
Determina se una lista non include un dato elemento.
# File lib/italian/ruby/metodi/array.rb, line 13 def non_include?(*args) !include? *args end
Esegue il metodo specificato con gli argomenti specificati per ogni elemento della lista.
# File lib/italian/ruby/metodi/array.rb, line 36 def pizzica(method_name, *method_args) self.map do |element| if element.respond_to? method_name element.send method_name, *method_args elsif element.is_a? Hash element[method_name] else raise ArgumentError, "Array elements do not respond to #{method_name}." end end end
Restituisce la lista saltando il primo elemento.
# File lib/italian/ruby/metodi/array.rb, line 128 def salta_il_primo self.drop 1 end
Restituisce il secondo elemento della lista.
# File lib/italian/ruby/metodi/array.rb, line 116 def secondo self[1] end
Converte tutti gli elementi della lista in simboli, creando una nuova lista.
# File lib/italian/ruby/metodi/array.rb, line 65 def simbolizza self.map do |element| if element.is_a? Hash element.simbolizza else element end end end
Converte tutti gli elementi della lista in simboli, sostituendo la lista originale.
# File lib/italian/ruby/metodi/array.rb, line 51 def simbolizza! self.map! do |element| if element.is_a? Hash element.simbolizza! else element end end self end
Restituisce la lista togliendo gli ultimi n elementi.
# File lib/italian/ruby/metodi/array.rb, line 122 def tronca(n = 1) self[0..(-1 - n)] end