Articles of rubini

Trova coppie chiave / valore in profondità all’interno di un hash contenente un numero arbitrario di hash e array annidati

Un servizio web restituisce un hash che contiene un numero sconosciuto di hash annidati, alcuni dei quali contengono un array, che a sua volta contiene un numero sconosciuto di hash annidati. Alcuni dei tasti non sono univoci, ovvero sono presenti in più di uno degli hash annidati. Tuttavia, tutte le chiavi che mi interessano sono […]

A cosa servono gli array ricorsivi?

Ruby supporta matrici ricorsive (cioè matrici auto-contenenti): a = [] # => [] a < [[…]] a.first == a # => true Questo è intrinsecamente interessante, ma che lavoro puoi fare con esso?

Rubygems: come posso aggiungere una dipendenza specifica della piattaforma?

Ho una gem ruby che ha dipendenze diverse per ogni sistema operativo. Devo scriverli tutti in modo esplicito: Su Mac OS X: gem install livereload su Linux: gem install rb-inotify livereload Su Windows: gem install eventmachine-win32 win32-changenotify win32-event livereload Posso modificare un gemspec un po ‘in modo che le istruzioni di gem install livereload come […]

Leggi, modifica e scrivi un file di testo in linea usando Ruby

C’è un buon modo per leggere, modificare e scrivere i file sul posto in Ruby? Nella mia ricerca online ho trovato cose che suggeriscono di leggere tutto in un array, modificare detto array, quindi scrivere tutto. Sento che dovrebbe esserci una soluzione migliore, specialmente se ho a che fare con un file molto grande. Qualcosa […]

Sostituzione di stringhe multiple di Ruby

str = “Hello☺ World☹” L’output previsto è: “Hello:) World:(” Posso farlo: str.gsub(“☺”, “:)”).gsub(“☹”, “:(“) C’è un altro modo in modo che io possa farlo in una singola chiamata di funzione? Qualcosa di simile a: str.gsub([‘s1’, ‘s2’], [‘r1’, ‘r2’])

Qual è il caso d’uso dei metodi di quotatura di% q /% Q di Ruby?

Ho letto il programma Ruby 1.9 di Thomas e mi sono imbattuto nei metodi delimitati a virgolette singole e doppie ( %q / %Q ). Ne ho conosciuti anche da altri riferimenti al linguaggio Ruby. %q/I’m acting like a single-quoted string/ %Q|”I’m acting like a double-quoted string” –Anonymous| Non ho lavorato a lungo con Ruby, […]

Definizione di una class dynamic con un nome di class

Come definisco dynamicmente una class in Ruby WITH un nome? So come creare una class in modo dinamico senza un nome usando qualcosa come: dynamic_class = Class.new do def method1 end end Ma non puoi specificare un nome di class. Voglio creare una class in modo dinamico con un nome. Ecco un esempio di ciò […]

imansible installare pg gem

Ho provato a usare gem install pg ma non sembra funzionare. gem install pg dà questo errore Temporarily enhancing PATH to include DevKit… Building native extensions. This could take a while… ERROR: Error installing pg: ERROR: Failed to build gem native extension. C:/Ruby/bin/ruby.exe extconf.rb checking for pg_config… no No pg_config… trying anyway. If building fails, […]

Come rimuovere elementi vuoti da un array?

Ho il seguente array cities = [“Kathmandu”, “Pokhara”, “”, “Dharan”, “Butwal”] Voglio rimuovere elementi vuoti dalla matrice e voglio il seguente risultato: cities = [“Kathmandu”, “Pokhara”, “Dharan”, “Butwal”] Esiste un metodo come il compact che lo farà senza loop?

Qual è il modo migliore per dividere una stringa per ottenere tutte le sottostringhe di Ruby?

Ad esempio, le parole “stack”, voglio ottenere un array come: [‘s’, ‘st’, ‘sta’, … ‘stack’, ‘t’, ‘ta’, … , ‘c’, ‘ck’, ‘k’] L’ho fatto con questo codice: def split_word(str) result = [] chas = str.split(“”) len = chas.size (0..len-1).each do |i| (i..len-1).each do |j| result.push(chas[i..j].join) end end result.uniq end C’è un modo migliore e pulito […]