自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。
Ruby言語やLinuxのネタが多いです。
September 30, 2003 [おもひで]
■ [Ruby] (続 x 4) 2つの文字列の先頭から等しい文字列を抜き出す
ZnZさんがRWikiにまとめページを作ってくれました。ありがとうございます。
まとめページにあるZnZさんの2つ目のは楽しいですね。二分探索って言えば良いのでしょうか。
オーバーヘッドがあるので小さい文字列には向かないですが、大きい文字列を扱ってもスピードがあまり落ちないのが良いですね。
■ メソッド名ですがmatch_firstは確かにおかしいかも。でも、shared_prefixですか...。prefixって言葉はこういう場合にも使うのかな。
■ [Ruby] (続 x 5) 2つの文字列の先頭から等しい文字列を抜き出す
シンXさんがsed版の解説をしてくださっています。実はよくわかっていなかったので(^^;)大変勉強になりました。
ちなみにRubyは楽しいですよー。デビュー(?)お待ちしております(^^)。
■ [Ruby-GNOME2] Musicextras
音楽のextra情報(詞やアーティスト画像、アルバムカバーなどの情報らしい)を表示するツール。GUI frontendとしてRuby/GTK2, Ruby/Libglade2を利用する。
■ 最近、Ruby-GNOME2を使ったアプリケーションがちょこちょこ出てきている。それを紹介できるのはとてもうれしいことだ。
やっぱり、ライブラリは使ってもらってなんぼだもんねぇ。
■ [Ruby] Etcモジュール
Etc.passwdとEtc.groupって使いづらいような気がする。Rubyっぽくないというか。何より一度イテレートした後にまた最初に戻る方法がわからない(-o-;)。ひとまず/etc/passwdファイルの情報だけ欲しかったので以下のようなモノを作ってみた。
require 'etc'
module Users
extend Enumerable
@users = []
while user = Etc.passwd
@users << user
end
module_function
def each
@users.each do |user|
yield user
end
end
end
Users.each do |v|
p v.name
end

Etc.passwd{|pw|...}とか使えばよろしいのでは。
げっ、Etc.passwdってブロック使えるんですね...<アホだ。
"shared prefix of" で google 検索しても 31 件しか出て来なかった....<br>列の先頭からある点までを prefix っていうのは一般的だと思うんですが.
てっきり、列の先頭からある点で共通の意味がある文字列をprefixっていうのかと思ってました。<br>例えば、MutohとMasaoで、Mが同じだからといってもMをutohとasaoのprefixとは言わないような気がするんですけど...。<br><br>あ、あと、aがbを完全に含む場合とか。<br>(例)ruby rubyistでrubyが返る
sharedよりはcommonというのが思い浮かぶので"common prefix of"でぐぐると3410件でした。<br>python-devにも、"String method: longest common prefix of two strings"というsubjectのスレッドがあるようです。
手元の教科書より:<br><br> x が y の前部分語 (initial subword) あるいは接頭語 (prefix) であるとは、<br> xz = y となる z が存在するときをいう。<br><br>ここで x、y、z は簡単に言えば文字列、文字列の積は連接を表わします。この意味で<br>M は Masao の長さ 1 の prefix です。
なるほど。<br>でも、揚げ足を取るようですが、その引用だと、MはMasaoの長さ1のinitial subwordを指しているとも取れますね。<br><br>オンラインの英英辞書でprefixを見たら以下のようになってました。<br>http://dictionary.cambridge.org/define.asp?key=62385&dict=CALD&desc=prefix<br><br> <br>Definition<br>prefix (GRAMMAR) [Show phonetics]<br>noun [C]<br>a letter or group of letters added to the beginning of a word to make a new word:<br>In the word 'unimportant', 'un-' is a prefix.<br>See also affix (WORD PART). Compare suffix.<br><br>(from Cambridge Advanced Learner's Dictionary)<br><br>でも、なかださんの例を見るとやっぱり良いのかなぁ。<br>コンピュータ用語なんですかね。
情報数学用語ですかね.上の引用は有限オートマトンの本からだし.<br>ふつうああいう書き方だと initial subword と prefix は同じ物の<br>別名だと読むのであげ足はあんまりとれてません :-) 「を指してい<br>る」んじゃなくて「である」のだと取り返してみよう.<br>情報数学.... 情報科学?
なるほど。<br>一般的な用語の使い方とはちょっと違うぞということですね。