【コラム】

日本語で10行プログラミング

3 10行ニュースリーダーを作ろう!

    クジラ飛行机  [2005/01/27]

    日本語プログラミング言語「なでしこ」

    世界中には、星の数ほどたくさんのプログラミング言語が存在しますが、本連載では、日本語のプログラミング言語「なでしこ」を使ってプログラムを作ります。「なでしこ」は、私たちが普段使っている日本語を使って気軽にプログラムを作ることができる「お手軽プログラミング言語」です。

    「なでしこ」は、独立行政法人情報処理推進機構(IPA)の2004年度未踏ソフトウェア創造事業「未踏ユース」で採択されたプロジェクトの1つで、現在もプロジェクトの開発が進んでいます。また、フリーソフトなので、WEBページからダウンロードすれば、誰でも使うことができます。

    これは、もともと、作者の私(クジラ飛行机)が、WEBページの更新や顧客管理など、日々パソコンで行う雑多な仕事を手軽に片付けたいという思いから開発したツールです。そのため、簡単な日本語の単語を組み合わせるだけで、実用的な仕事をこなすことができます。

    日本語プログラミング言語「なでしこ」
    IPA「未踏ユース」

    プログラムのための準備

    プログラムの準備として、まず、「なでしこ」を以下のWEBサイトよりダウンロードしてください。なお、現在、なでしこは頻繁にバージョンアップしていますので、時々最新版をチェックしてみてください。

    なでしこの配布アーカイブは、ZIP形式で圧縮されているので、+Lhacaなどの解凍ツールで解凍してください。

    なでしこの入手
    +Lhacaの入手

    「なでしこ」には、開発ツールとして専用エディタ(nakopad.exe)がついていますので、これをダブルクリックして起動します。そして、このエディタにプログラムを書いて実行ボタンを押すとプログラムを実行できます。

    「なでしこエディタ」

    なでしこのプログラム開発用のエディタへプログラムを書いて、実行ボタンをおすことで、プログラムを実行できます。

    以下、なでしこエディタの起動からプログラムの実行までの手順をFLASHで作ってみました。

    起動から実行まで

    RSSニュースリーダーを実行しよう

    準備ができたら、プログラムを実行してみましょう。以下が今回作った10行ニュースリーダーです。内容は後回しにして、コピーしてエディタに貼り付けて実行してみましょう。

    # RSS から記事一覧を抜き出すプログラム
    RDFは「http://pcweb.mycom.co.jp/haishin/rss/index.rdf」。 # RDFのURL 記事リストとはリスト。そのレイアウトは「全体」。 # 画面デザイン RDFをHTTPデータ取得して、UTF8_SJIS変換して、RSSデータに代入。# WEBからデータ取得 RSSデータから「item/title」を階層タグ切り出し。 # 記事一覧を解析 タグ削除して、記事リストのアイテムに代入。 # ┗リストに表示 RSSデータから「item/link」を階層タグ切り出し。 # リンク一覧を解析 タグ削除して、RSSリンクに代入。 # ┗リンクを保持 記事リストをダブルクリックした時は~ # リストの動作定義   RSSリンク[記事リストの値]を起動。 # ┗リンク先を表示

    RSS から記事一覧を抜き出すプログラム
    rss_reader.nako

    以下のように記事の一覧が表示されたら成功です。リストには、最新のITニュース(PC WEBの記事一覧)が表示され、ダブルクリックすると記事の内容を読むことができます。

    実行画面

    プログラムの解説

    プログラムが動くことが確認できたら、プログラムの仕組みについて見ていきましょう。このプログラムは、ニュースだけでなく、最近なにかと話題のBLOGの更新情報を表示することもできます。

    ニュース系サイトやBLOGでは、サイトの更新情報や記事の見出しなどを、RSSを使って公開しています。RSSリーダーを使うことで、日々更新されるニュースサイトの記事を効率よく読むことができます。

    このページの最上部にも、RSSのボタンがあります。そこからリンクをたどるとRSSのアドレスを知ることができます。

    RSSのボタン

    RSSは特殊なファイル形式かと言えば、そんなことはなくて、XMLで記述されたとてもシンプルなものです。記事の見出し、リンク、記事の要約などが一定の規則で並んでいるだけです。そのため、「なでしこ」を使えば、特定の要素を簡単に取り出すことができます。

    今回のプログラムでは、RSSから、記事のタイトルとリンクだけを抽出しています。RSSでは、<item>タグの中に<title>タグや<link>タグが入れ子状に配置されています。そこで、上のプログラムの4行目で「「item/title」を階層タグ切り出し」と書くことで、タイトルの一覧を切り出しているのです。

    改造のポイント

    プログラム上達のコツは、既存のプログラムの改造からはじめると良いと言われています。

    今回のRSSリーダーは、PC WEBのサイトの記事しか見ることができません。まずは、ほかのサイトを読めるように改造してみましょう。プログラムの一行目に、「RDFは「http://pcweb.mycom.co.jp/haishin/rss/index.rdf」」と、RDFのアドレスを指定している部分があります。ここを、他のRDFなら、それに応じたURLに変更します。

    また、複数のサイトのRSSをチェックできるようにしたり、更新ボタンをつけたりすると、さすがに20行になってしまいましたが、基本部分は上で紹介した10行ですので、一応改造版も、公開します。

    改造版 rss_reader_kaizo.nako

    参考

    RSSのフォーマットの詳細が知りたい方は以下のリンクを辿ってみてください。

    RSSによるサイト情報の要約と公開
    RSS公式仕様書(英語)
    RSS公式仕様書の和訳

    関連サイト

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン