Come da Ruby Array documentation, esiste un metodo to_h
che può essere utilizzato per convertire gli array in hash purché ogni elemento dell'array sia un altro array di due elementi. Esempio di sotto della stessa documentazioneMetodo non definito 'to_h' su matrice Ruby
p [[:foo, :bar], [1, 2]].to_h
Tuttavia, quando si esegue il codice di cui sopra, ottengo questo errore:
irb(main):001:0> p [[:foo, :bar], [1, 2]].to_h
NoMethodError: undefined method `to_h' for [[:foo, :bar], [1, 2]]:Array
from (irb):1
from E:/RubyInstall/bin/irb:12:in `<main>'
irb(main):002:0>
La mia versione di Ruby è
C:\>ruby -v
ruby 2.0.0p247 (2013-06-27) [x64-mingw32]
ho voluto usare questo tecnica per rispondere a un'altra domanda su Stackoverflow, ma ora sono bloccato perché una funzionalità documentata di Ruby non funziona per me.
@ Зелёный Grazie –
Come nota è comunque possibile utilizzare la compatibilità 'Hash :: []' sintassi del tipo 'Hash [[[: foo,: bar], [1, 2]]]' per produrre lo stesso risultato in Ruby <2.1 – engineersmnky
@engineersmnky Sembra fantastico! –