電子情報通信学会 - IEICE会誌 試し読みサイト
© Copyright IEICE. All rights reserved.
|
講座
データ処理のためのプログラミング言語[Ⅳ]
――Ruby言語編――
Enjoy Data Processing[Ⅳ]: Ruby Language
本稿では,プログラミング言語Rubyと,データ処理でのその活用(特にテキスト処理)について,ソースコードを紹介しながら解説する.
Rubyはオブジェクト指向(用語)のプログラミング言語である.動的型付け(用語)で型付け(用語)が強く,多くの場合は(ネイティブコードにコンパイルされず)インタプリタにより処理される.まつもとゆきひろ氏により開発され,日本人が開発したプログラミング言語で最も世界的に有名になった言語であると思われる.処理系はオープンソースで公開されており,誰でも無料で自由に使用することができる.
日本人が開発した言語とあって,日本に特に愛好家が多い印象があるが,日本人に自国愛に基づき愛されているのではなく,優れた言語であるために好んで使用され,結果的に愛されているのだと私は考えている.
海外にも愛好家は多く,WebアプリケーションフレームワークRuby on Railsの登場による注目などにより,Webアプリケーション開発を行う技術者などに使用,評価されている印象である.
Rubyの特徴としては,テキスト処理が得意である,純粋なオブジェクト指向言語である,プログラミングが楽で楽しい,などが挙げられる.「楽しい」との特徴は,私の思い込みではなく,まつもとゆきひろ氏が各所で公言(1)しているRubyの設計の目標である.
Rubyにおいては,ファイルの読込みは極めて容易に行える.以下の内容のa.txtが存在すると仮定する.
“a.txt”
Hello,
Ruby
world!
a.txtから1行読み込んで(すなわち"Hello,"を読み込んで)表示するには,以下のfile0.rbを作成して,ruby file0.rb a.txtと実行すればよい.
“file0.rb”
line=gets
print line
getsは,コマンドライン引数に指定された名前のファイル(群)からテキストを1行ずつ読み込み,その内容を返す関数である.ファイルを全て読み切りこれ以上読み込めない場合は,nilを返す.コマンドライン引数が指定されていない場合は,標準入力から読み込む.
上のプログラムの1行目のline=getsは,コマンドライン引数に指定されたファイルであるa.txtから1行読み込み,読み込んだ内容をlineという変数に入れる処理である.2行目は,それを表示している.
Unixのファイルの内容を表示するコマンドcatに近い(オプションはない)プログラムは以下のように書ける.
続きを読みたい方は、以下のリンクより電子情報通信学会の学会誌の購読もしくは学会に入会登録することで読めるようになります。 また、会員になると豊富な豪華特典が付いてきます。
電子情報通信学会 - IEICE会誌はモバイルでお読みいただけます。
電子情報通信学会 - IEICE会誌アプリをダウンロード