< 前へ | 次へ >

演習 7: 再使用可能関数のライブラリーの作成

金額をフォーマット設定し、カテゴリー番号を説明に関連付けるライブラリーを作成します。

ライブラリーには、複数のロケーションで使用できる関数、定数、および変数が含まれています。

ライブラリー内の宣言を、サービスまたはハンドラーなどの他のロジックから参照する場合、ライブラリー名を接頭部として含めることができます。例えば、ライブラリー名が MyLibrary であり、ライブラリーに myLibraryVariable 変数が含まれている場合、適切な形式は MyLibrary.myLibraryVariable となります。 あるいは、ライブラリー名を別のロジックの use ステートメントに含めれば、すべての参照を修飾する必要がなくなります。 この場合、その変数を参照するには myLibraryVariable だけで十分です。

ライブラリー・パーツの作成

ライブラリー・パーツを作成するには、以下のステップを実行します。

  1. PaymentClient フォルダーを右クリックし、「新規作成」 > 「ライブラリー」とクリックします。
  2. 「新規 EGL ライブラリー」ウィンドウで、以下の情報を入力します。
    • 「EGL ソース・ファイル名」フィールドに、次の名前を入力します。
      PaymentLib
    • 「パッケージ」フィールドに、次の名前を入力します。
      libraries
    • 「EGL ライブラリー型」で、デフォルト値「基本」を選択したままにします。
    EGL エディターで新規ライブラリー・パーツが開きます。
  3. ライブラリー・パーツ内の定形コードを以下の行に置換します。
    package libraries;
    
    library PaymentLib type BasicLibrary {}
    
    end
  4. ファイルを保存します。

categories 配列の作成

最終行である end ステートメントの前に以下のコードを追加します。
categories STRING[] = [

   "Rent",          // 1
   "Food",          // 2
   "Entertainment", // 3
   "Automotive",    // 4
   "Utilities",     // 5
   "Clothes",       // 6
   "Other"          // 7
];

値は配列であり、EGL のすべての配列に当てはまることですが、先頭の要素のインデックスは 0 でなく 1 です。

この配列は、以下のように機能するロジックで使用されます。
  • 費用カテゴリーをデータベースに配置する際は、スペースを節約するために整数形式で配置します。
  • 費用カテゴリーを Web ページに配置する際は、読みやすさを重視するためにストリング形式で配置します。

categories の get 関数の作成

次の関数は、費用カテゴリーの 2 つのフォーマット (整数とストリング) 間の変換を行います。
  1. 最終行である end ステートメントの前に以下のコードを追加します。
    function getCategoryDesc(cat INT in) returns(STRING)
       if(cat)       // the integer is not 0
          return(categories[cat]);
       else
          return("");
       end
    end

    この関数は、費用カテゴリーの整数フォーマットを受け取り、関連する配列要素を返します。入力値が 0 である場合、関数は空ストリングを返します。

  2. 最終行である end ステートメントの前に以下のコードを追加します。
    function getCategoryNum(desc STRING in) returns(INT)
       for(i INT from 1 to categories.getSize())
          if(categories[i] == desc)
             return(i);
          end
       end	
       return(0);	// no match
    end

    この関数は、費用カテゴリーのストリング・フォーマットを受け取り、可能な場合は整数フォーマットを返します。受け取ったストリングに一致するものがない場合、関数は 0 を返します。

  3. ファイルのフォーマットを設定します。
  4. PaymentLib ライブラリーを保存して閉じます。 ソース・ファイルにエラーがある場合は、そのコードと演習 7 で完成した PaymentLib.egl のコードのファイル内容を比較してください。

演習のチェックポイント

以下のタスクの実行方法を学習しました。
  • ライブラリー・パーツを作成する。
  • 関数と変数をライブラリーに追加する。
< 前へ | 次へ >

フィードバック