2015-06-03 6 views
14

Sto provando a stampare un carattere unicode in Ruby, in particolare la pila di cacca. Ha un valore unicode di U-1F4A9. Ma quando provo a stampare "\ u1F4A9" sull'output o su un file, non vedo nulla.Come stampare il carattere Unicode U-1F4A9 emoji "mucchio di cacca"

Devo stampare su un tipo specifico di file per vedere la pila di cacca? Se sì, quale tipo di file? C'è un modo per stampare questo per l'output comune? (Sto usando RubyMine)

+1

"' \ u {1F4A9} "' funziona? –

risposta

27

punti di codice Unicode con più di quattro cifre esadecimali devono essere racchiusi tra parentesi graffe:

puts "\u{1f4a9}" 
# => 

questo è abbastanza scarsamente documentata, così non si sentono in colpa per non capire che su. Una cosa bella di sintassi parentesi graffa è che è possibile incorporare molteplici punti di codice separati da spazi:

puts "\u{1f4a9 1f60e}" 
# => 

Naturalmente, poiché Rubino 2.0, UTF-8 è stata la codifica di default, in modo da poter sempre appena messo il emoji direttamente nella tua fonte:

puts "" 
# => 
+0

Ottima risposta davvero! Puoi anche usare quanto sopra per rinominare le schede Konsole di KDE tramite l'interfaccia emojis + qdbus. Il pupazzo di neve Unicode o la faccia di gatto funziona bene - ora le mie schede sembrano davvero pazze. Non penso che il team KDE abbia mai pensato a questo. – shevy