我想要一个我尚未实现的单个字符串的占位符。如何在Ruby 1.9中打印雪人?
目前,我可以做到
# coding: utf-8
puts "☃"
或
puts "\u2603"
但是否可以使用“索引条目”字段(提及here)snowy weather
或SNOWMAN
或weather, snowy
来获取要打印的字符?
我没有使用Rails。
答案 0 :(得分:7)
您可以下载Name Index from unicode.org并将字符名称解析为哈希(或更好的数据库或类似代码)。
然后你可以使用普通的数据访问功能来获取它。
示例:
# 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
编辑:
有一个宝石unicode_utils。有了这个宝石你可以使用:
require "unicode_utils/grep"
p UnicodeUtils.grep(/^snowman$/) #=> [#<U+2603 "\u2603" SNOWMAN utf8:e2,98,83>]