変数から Unicode エスケープ コードを出力します。
概要
rumojiで出力したいUnicode文字コードのリストがあります。データを反復処理するために使用しているコードは次のとおりです。
require "rumoji"
# this works
puts Rumoji.decode("\u{1F600}")
# feed some data
data = [
"1F600",
"1F476",
"1F474"
]
data.each do |line|
# this doesn't work
puts Rumoji.decode("\u{#{line}}")
puts Rumoji.decode("\u{" + line + "}")
end
エスケープされた文字列内で変数名を使用する方法がわかりません。
解決策
優先されるため、文字列補間と一緒に使用することはできません。できることは、整数の配列を Array#pack することです。
▶ data.map { |e| e.to_i(16) }.pack 'U*'
#⇒ "😀👶👴"