Gibt es eine integrierte Methode, um eine Ganzzahl in Ruby in ihr hexadezimales Äquivalent umzuwandeln?
So etwas wie das Gegenteil von String#to_i
:
"0A".to_i(16) #=>10
Wie vielleicht:
"0A".hex #=>10
Ich weiß, wie man meine eigenen rollt, aber es ist wahrscheinlich effizienter, eine eingebaute Ruby-Funktion zu verwenden.
ruby
hex
base-conversion
Matt Haughton
quelle
quelle
Wie wäre es mit
%
/sprintf
:quelle
"#%02x%02x%02x" % [255, 0, 10] #=> "#ff000a"
- Ich habe ein bisschen gebraucht, um herauszufinden, wie ich mehrere Argumente senden kann.[255, 0, 10].map{|x| '%02x'%x}.join
Zusammenfassen:
quelle
Hier ist ein anderer Ansatz:
Die Dokumentation finden Sie
sprintf
hier: http://www.ruby-doc.org/core/classes/Kernel.html#method-i-sprintfquelle
sprintf("%02X", 10)
wird wegen des Großbuchstabens X in Großbuchstaben geschrieben. Die Großbuchstabenmethode muss nicht aufgerufen werden. Der spezifische Abschnitt des Kernels ist folgender: ruby-doc.org/core-1.9.3/Kernel.html#method-i-formatNur für den Fall, dass Sie bevorzugen, wie negative Zahlen formatiert werden:
quelle