• ベストアンサー

ラップ関数とはどんなものですか?

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

質問者が選んだベストアンサー

  • ベストアンサー
  • thamansa
  • ベストアンサー率40% (95/232)
回答No.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を計算できるようになります。 この例は引数の順番を変えていますが、それに限らず、何らかの理由により関数の使い方を変えたい場合に作るのがラップ関数です。 ラップ関数を呼んだ場合、実際にはもとの関数が呼ばれますので、元の関数を包んだ(ラップした)ラップ関数と呼ばれます。

mitsuki_souma
質問者

お礼

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

その他の回答 (1)

  • karigome
  • ベストアンサー率50% (6/12)
回答No.1

ラップの言葉が示す通り、ある関数やオブジェクトを「包み込む」関数を指します。 以下に例を示します。 ある、利用するのが難しい関数Aがあるとき、これを「包み込む」A'というラップ関数を用意したとします。 A'は内部でAを呼び出していますが、Aを呼び出す際に必要な各種手続きをユーザの代わりに自動で行うようにします。 こうすると、A'は、Aほど汎用的には使えませんが、利用が簡単な関数となります。

mitsuki_souma
質問者

お礼

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

関連するQ&A