電子書籍ギフト♪ 最大10,000円が当たる!

プログラミングの際に最近「ラップ関数」というのを良く耳にします。実際の所、あまり良く意味が分かっていません。

ラップ関数とは、分かりやすく言うとどんなものなのでしょうか。
あまりプログラミングの経験が無いので、専門的な言葉はあまり使わずに簡単に説明してもらえると有難いです。よろしくお願いします。

教えて!goo グレード

A 回答 (2件)

a-bを計算してくれる2つの関数があるとします。


int hikizan1(int a, int b){return a-b;}
float hikizan2(float b, float a){return a-b;}

どちらも似ているのですが、引数の順番が違うので、hikizan2をhikizan1と同じように使うと、答えがa-bでなくb-aになってしまいます。注意して使う必要があり、何かと不便です。
そこで、hikizan2を呼ぶ関数
float hikizan3(float a, float b){
  return hikizan2(b,a);
}
を作りました。
hikizan2を使う代わりにhikizan3を使えば、hikizan1と同じ使い方で正しくa-bを計算できるようになります。

この例は引数の順番を変えていますが、それに限らず、何らかの理由により関数の使い方を変えたい場合に作るのがラップ関数です。
ラップ関数を呼んだ場合、実際にはもとの関数が呼ばれますので、元の関数を包んだ(ラップした)ラップ関数と呼ばれます。
    • good
    • 7
この回答へのお礼

分かりやすく例まで入れて頂いての説明。ありがとうございます。
ラップ関数がどんなものか分かった気がします。

お礼日時:2007/06/20 12:54

ラップの言葉が示す通り、ある関数やオブジェクトを「包み込む」関数を指します。



以下に例を示します。

ある、利用するのが難しい関数Aがあるとき、これを「包み込む」A'というラップ関数を用意したとします。
A'は内部でAを呼び出していますが、Aを呼び出す際に必要な各種手続きをユーザの代わりに自動で行うようにします。
こうすると、A'は、Aほど汎用的には使えませんが、利用が簡単な関数となります。
    • good
    • 0
この回答へのお礼

包み込んで使いやすくするという意味があるんですね。
参考になりました。ありがとうございます。

お礼日時:2007/06/20 12:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

人気Q&Aランキング