わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

日猫翻訳

Rubyによるテキストデータ処理 (講座ITと日本語研究)

Rubyによるテキストデータ処理 (講座ITと日本語研究)

Rubyどころかプログラミングに不慣れな人にも読みやすく書かれた本です.Rubyの文法やスクリプト例が大部分で,テキストデータ処理はあまり多くありません.知っていることばかり,というわけではなく,Array#<=>を使えば,ソートの複数条件が簡潔に記述できる(p.163ほか)点は,勉強になりました.
ただいくつか,コードの例,より正確には文字列の例に,「ん?」と思ったものもありました.一つは次のくだり.

まず,文字列についても,数値の足し算と掛け算に相当する操作が可能である。「+」は文字列の結合,「*」は文字列の繰返しを表す。

puts("ガク"+"ブル")           # => ガクブル
puts("ガク"*2+"ブル"*2)       # => ガクガクブルブル
puts(("ガク"+"ブル")*2)       # => ガクブルガクブル
puts("キタ"+""*4+"")      # => キターーーー!

図9 output3c.rb
(p.30)

出力として「ガクガクブルブル」と「ガクブルガクブル」が違うのは分かりますが,しかしこの例ですか….
次にびっくりしたのは,かなり進んだところにありました.

(略)このメソッドto_cateseは日本語を猫語に翻訳する。

#!ruby -Ks

def to_catese(phrase)
  phrase.gsub(//,'にゃ')    # 返り値
end

p to_catese('なかなかだな')   # => "にゃかにゃかだにゃ"
p to_catese('な,なんと!')   # => "にゃ,にゃんと!"

図7 def2b.rb
(p.149)

「な」を「にゃ」に変換すれば猫語になる.ンなあほな….
なお,中核となる「.gsub(/な/,'にゃ')」の部分は変更・拡張されることなく,p.153 (def3c.rb),pp.155-156 (def4a.rb, def4b.rb)にも出現し,「日猫翻訳(日本語-猫語翻訳)のメソッド」(p.152),「日猫翻訳の破壊的メソッド」(p.155)といった解説が添えられています.
「わがはいはねこである」の次は「にゃまえはまだにゃい」ににゃるってことですかにゃ??
(最終更新日時:Sun Jun 3 06:03:02 2012ごろ)