[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[orca-dev:00049] Re: 病名クラス
- To: orca-dev@xxxxxxxxxxxxxx
- Subject: [orca-dev:00049] Re: 病名クラス
- From: Yoshinori Ariie <PBA00250@xxxxxxxxx>
- Date: Sun, 26 May 2002 10:31:13 +0900
有家@松山記念病院です。
「病名修飾語かどうかを返すメソッド modifier?」を書いたのですが
あれを ChaSen の辞書に含める方法として
「病名修飾語 900」「基本病名」等々の記述をIPADICの付加情報として登録し
splitメソッドに反映する方法が、いちばん無理がないかなと考えています。
cf) http://chasen.aist-nara.ac.jp/stable/ipadic/ipadic-2.4.4.tar.gz
あと補足として、いくつかのメソッドを追加します。
▼
まず「基本病名(修飾語を含まない病名)かどうかを返すメソッド basename?」は
病名修飾語を含まない(すっぴんの)基本病名のリストを "basename.txt" とすると
class Disease < String
bas_txt = "basename.txt"
Base = open(bas_txt, "r"){|io| io.readlines}.each{|$_| chomp!}
def basename?
Base.include?(self)
end
end
# 上記のopen文は(ちょっと気に入っているのですが)Rubyの作法としてどうか..
▼
ほかに
「病名(self)に含まれる修飾語の配列を返すメソッド modifiers」や
「病名(self)に含まれる基本病名の配列を返すメソッド basenames」なども
定義する必要がありますが、これらはちゃんとした splitメソッドが書けた後の
課題です。
ということで、以下は実行確認したコードではありません。
class Disease < String
# 病名(self)に含まれる修飾語の配列を返す(暫定版)
def modifiers
(self).split.collect{|i|
i if i.instance_of?(Disease) && i.modifier?
}.compact
end
# 病名(self)に含まれる基本病名の配列を返す(暫定版)
def basenames
(self).split.collect{|i|
i if i.instance_of?(Disease) && i.basename?
}.compact
end
end
--
pba00250@xxxxxxxxx
yoariie@xxxxxxxxxxxxxxx
-------------------------
有家佳紀 Yoshinori Ariie