新規作成 | 一覧 | RSS | FrontPage | 検索 | 更新履歴
[Calendar/When/Ruby/2.APIの使用例] (前:Web_Service|次:1.前提となる概念) (English)

2.APIの使用例

概要

ここでとりあげたAPIの使用例は、代表的と思われるごく一部のサンプルです。

API一式は http://hosi.org/frames を参照してください。

また、<test/examples>および<test/scripts>ディレクトリのスクリプトも API の使用例として参考になると思われます。

2.APIの使用例
  1.前提となる概念
    1.日付時刻の表現
    2.国際化リソース識別子
      補足
    3.多言語対応文字列
      文字列変換
    4.時刻系
    5.オブジェクトの指定
      RDF表現
  2.逆引き
    コア拡張
  3.年号の扱い
    コア拡張
  4.時間間隔
    コア拡張
    最小セット
  5.剰余類
    コア拡張
  6.iCalendar
    GoogleCalendar
      Obsolete
    時間帯
  7.暦注
    七曜
    二十四節気
    月の位相
  8.多言語対応文字列
    コア拡張
  9.標準クラスとの変換
    コア拡張
  A.初期設定

require方法

when_exe Ruby 版のライブラリを require するパターンは、

の組み合わせがあり、2×2=4通りあります。

全機能を使用する

コア拡張を利用しない ― 標準クラスにメソッドを追加しない

 require 'when_exe'
 include When

もっとも標準的な使い方です。

コア拡張を利用する ― 標準クラスにメソッドを追加する

 require 'when_exe'
 require 'when_exe/core/extension'
 include When

Numeric や String などの標準クラスにメソッドを追加し、これらのクラスのオブジェクトを レシーバとする記述が可能になります。可読性が上がると思われますが、標準クラスの振る舞いを グローバルに変更するのはちょっと危ないという気もします。

When::TM::Durationのみ使用する

コア拡張を利用しない ― 標準クラスにメソッドを追加しない

 require 'when_exe/tmduration'

本ライブラリを使う最小構成です。重い処理は一切ありませんので速度的にも安心です。 本構成では、標準クラスの TimeWhen::TM::Duration クラスのオブジェクトしか扱いません。

コア拡張を利用する ― 標準クラスにメソッドを追加する

 require 'when_exe/tmduration'
 require 'when_exe/core/duration'

When::TM::Duration クラスのオブジェクトの生成に、例えば When::TM::Duration.second(1) の替りに 1.second_duration のように標準クラスをレシーバとする表現が使えるようになります。