在控制台中打印随机 unicode 卡

print random unicode card in console

我正在尝试制作一个 returns 控制台中的随机卡片图片的方法:

def random_card
  x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 'A', 'B', 'C', 'D', 'F'].shuffle.join[0]
  y = %w[A B C D].shuffle.join[0]
  card = '\u{1F0' + y.to_s + x.to_s + '}'
  puts card.to_s
end

执行此打印

\u{1F0BF}

但我需要与以下行为相同的行为:

puts "\u{1F0BF}"

输出


好的,第一个答案是错误的,我已经监督了一些事情但是:

这个怎么样(已测试):

        ... 
        hexnum="1F0#{y}#{x}"
        card=''
        card  << hexnum.to_i(16)
        ...

你动态生成 "hex",将其转换为整数并将其作为第一个字符推入字符串
这里被偷了https://gist.github.com/O-I/6758583