我想要一个尚未实现的单个字符串的占位符。如何在 Ruby 1.9 中打印雪人?
目前,我可以做
# coding: utf-8
puts "☃"
或者
puts "\u2603"
但是否可以使用“索引条目”字段(此处提到)snowy weather
或打印字符SNOWMAN
?weather, snowy
我没有使用 Rails。
您可以从 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>]