Как печатать символ Юникода U-1F4A9 'pile of poo' emoji

Я пытаюсь напечатать символ Юникода в Ruby, в частности, кучу poo. Он имеет значение Unicode U-1F4A9. Но когда я пытаюсь напечатать "\ u1F4A9" на выходе или файле, я ничего не вижу.

Нужно ли печатать в файл определенного типа, чтобы увидеть кучу poo? Если да, то какой тип файла? Есть ли способ распечатать это на общий вывод? (Я использую Rubymine)

Ответы

Ответ 1

Кодовые точки Unicode с более чем четырьмя шестнадцатеричными цифрами должны быть заключены в фигурные скобки:

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

Это довольно плохо документировано, поэтому не чувствуйте себя плохо, не выясняя это. Хорошая вещь в синтаксисе фигурных фигурных скобок заключается в том, что вы можете вставлять несколько кодовых точек, разделенных пробелами:

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

Конечно, поскольку Ruby 2.0, UTF-8 был кодировкой по умолчанию, поэтому вы всегда можете просто поместить emoji прямо в свой источник:

puts "💩"
# => 💩