从变量打印 Unicode 转义码

Print Unicode escape codes from variable

我有一个 Unicode 字符代码列表,我想用 rumoji 输出。这是我用来遍历我的数据的代码。

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

我不确定如何在转义字符串中使用变量名。

不能将 \u 与字符串插值一起使用,因为 \u 优先。可能要做的是 Array#pack 一个整数数组:

▶ data.map { |e| e.to_i(16) }.pack 'U*'
#⇒ ""