2012-07-31 35 views
10

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

目前,我所能做的

# coding: utf-8 
puts "☃" 

puts "\u2603" 

但有可能使用 “索引条目” 字段(提到heresnowy weatherSNOWMANweather, snowy得到字符打印?

我没有使用Rails。

回答

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>] 
+10

+1。也许你的机器过热,并且一旦它被打印就会融化雪人。 – Eduardo 2012-07-31 11:38:05

+3

@Eduardo这将解释我的笔记本电脑下的水坑;) – knut 2012-07-31 13:46:06