関数処理関数編 その2

※この記事は読者によって投稿されたユーザー投稿です:
  • 編集部の見解や意向と異なる内容の場合があります
  • 編集部は内容について正確性を保証できません
  • 画像が表示されない場合、編集部では対応できません
  • 内容の追加・修正も編集部では対応できません

ヒューマンリソシア株式会社はコラム「関数処理関数編 その2」を公開しました。
関数処理の第二回でございます。…多分「関数処理」&「関数」編は結構な長丁場になりますので、
少しばっかり、腰を据えておつきあい頂ければ、と思います。
というわけで早速…今回はまず「可変長引数」についてでございます。

おいちゃん的に、可変長引数と言えばやはりprintf系列の関数群を想起するのですが…まずは極々簡単に、
printfの書式のおさらいをしておきましょう。
「可変長」の辺りのニュアンスをくみ取って頂きたいので、恣意的に2~3パターンほど。

printf(“test1\n”);
printf(“test2 %d\n”, 10);
printf(“test3 %d %s\n”, 10, ‘hoge’);
printf(“test4 %d %s %f\n”, 10, ‘hoge’, 1.23);

printfなどは、このように「第一引数の文脈によって、引数の数がころっころと変わる」関数になります。
ちなみに引数が「余る」場合は放置、「足りない」場合は”Warning: printf(): Too few arguments in “という、
警句レベルのメッセージが飛び交います辺りは、以下でご確認ください。

printf(“test5 \n”, 10, ‘hoge’, 1.23); // 「余る」サンプル
printf(“test6 %d %s %f\n”); // 「足りない」サンプル

さて。
printfと同じように引数の数が動的に変わる関数を、じゃぁ「どうしても自作で作りたい」なんて時にどうしましょう?
というのが、今回の「可変長引数」になります。
# ちなみに「引数が三つあるうちの1つは、指定しなくてもしてもよくて、指定がなけりゃデフォルトを適用するよ」ってのは、もうちょっと別の書式がありますってのは後日やります。

この続きは以下をご覧ください
http://resocia.jp/column/1343/

この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

UX
ユーザーの体験や経験を表す言葉。ある製品サービスを利用する前の期待値、実際に利用 ...→用語集へ

連載/特集コーナーから探す

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]