与えられた文字列を1行ずつ処理しようとして、
str.split(/\r?\n/).each { |l| ... }
とかやってはまってしまいました。
"\na".split(/\r?\n/) -> ["", "a"]
とか、
"\n\na".split(/\r?\n/) -> ["", "", "a"]
は期待通りなんですが、空行が末尾にくると
"\n".split(/\r?\n/) -> [] (期待は[""]) "\n\n".split(/\r?\n/) -> [] (期待は["", ""])
となってしまいます。
で、迷走して
"\n".split(/\r?\n/, -1)[0..-2] -> [""]
とかやってたんですが、今度は処理する文字列の最後に改行がない場合にうまくいかない。
とかさんざんやった後からeach_lineメソッドを見つけたりするわけです。というわけで正解は以下。
str.each_line { |l| l.chomp! ... }
久しぶりに特許の手続きをしたんですが、法務局の電子証明書が30分ぐらいで発行されてかなりびっくり。世の中便利になったもんです。
さて、その特許庁のインターネット出願ですが、利用可能な認証局がファイル形式のもので4つ、ICカード形式のものは11個とわけの分からない状況になってます。GPKIがコケちゃった影響でしょうか。
で、そのリストの中身もかなりバラエティに富んでいるのですが、各認証局の対応システムが微妙に違うというのがなんとも…。使う立場からすると.tbig red.「なんでこうもバラバラなんだ。責任者出て来い!」って感じですが、こうなったことの責任者なんているはずもなく。
ついでに各省庁の電子入札システムのページも一通り見てみたんですが、うん、まあ。
シャープからNetWalkerが発表されました。 UbuntuベースでFirefox, Thunderbird, Sunbird, OOo, Totemということで、独自のアプリとかは無いようですが、逆に独自仕様のアプリを作られるよりはよさそうです。
それは良いのですが、「主な付属ソフトウェア」のページの、
という部分だけ画像化されてるのはどういう意図なんでしょうか。
そもそも、「フリーソフトウェアを採用」していることと、それらを「サポート対象外」とすることが、「そのため」の一言で結ばれているのもずいぶん変な話。FOSSのサポートをしている会社はいくらでもありますし、サポート対象外なのはあくまでシャープの都合・方針でしかないのに、それを「フリーソフトウェア」だからと書くのはひどいミスリーディングです。
フリーソフトを載せて開発費削減という恩恵を授かっているはずなのに、そのフリーソフトについて誤解を広めるようなまねはやめて欲しいものです。