10

我想要一个尚未实现的单个字符串的占位符。如何在 Ruby 1.9 中打印雪人?

目前,我可以做

# coding: utf-8
puts "☃"

或者

puts "\u2603"

但是否可以使用“索引条目”字段(此处提到)snowy weather或打印字符SNOWMANweather, snowy

我没有使用 Rails。

4

1 回答 1

7

您可以从 unicode.org 下载名称索引并将字符名称解析为 Hash(或者更好的是 DB 或类似的)。

然后您可以使用正常的数据访问功能获得它。

例子:

# coding: utf-8
index = {}
File.readlines('Index.txt').each{|line|
  line =~ /(.*)\t(.*)$/
  index[$1] = $2.to_i(16).chr("UTF-8")
}

snowman = index['SNOWMAN']
p snowman #hope it works. My shell does not show the snowman
p "\u2603" == snowman #true

编辑:

有一个 gem unicode_utils。有了这个宝石,您可以使用:

require "unicode_utils/grep"
p UnicodeUtils.grep(/^snowman$/) #=> [#<U+2603 "\u2603" SNOWMAN utf8:e2,98,83>]
于 2012-07-31T10:33:22.123 回答