www.midore.net/daybook/2006/5-9/1159081162.html
を書き直し。
% cat numerical.rb
1 # coding: utf-8
2 # 2009-11-06
3
4 str =<<EOF
5 <?xml version="1.0" encoding="UTF-8"?>
6 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
7 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
8 <head>
9 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
10 <title>数値文字参照</title>
11 </head>
12 <body>
13 EOF
14
15 n = ARGV[0]
16 abort unless n
17 abort if /\D/.match(n)
18 (n.to_i..n.to_i+5).step{|x|
19 str << "<p>#{x} => &##{x};</p>"
20 }
21 str << "</body>\n</html>"
22 filename = 'numerical.html'
23 # save file
24 File.open(filename, 'w:utf-8'){|f| f.print str}
25 # only OS X
26 system "open #{filename}"
表示する数値文字は引数として与える数字から5を足した数までに制限している。line.18
数字の範囲は得に定めていないので、与える数字によってはすべて空欄にもなりうる。
% ruby19 numerical.rb '1100'
を実行すると実行ファイルと同じ階層に'numerical.html' ファイルが保存される。
OS X の場合、最終行でブラウザが 'numerical.html' を開く。
与えた数に対応する数値文字がブラウザに表示される。
1100 => ь
1101 => э
1102 => ю
1103 => я
1104 => ѐ
1105 => ё
0 件のコメント:
コメントを投稿