バイブコーディングの土台

Day 4関数と部品化

関数とは(入力→処理→出力)

関数は「入れたら出てくる箱」。自動販売機や電子レンジにたとえて、入力・処理・出力の流れをつかむ。

関数って、結局なに?

プログラミングでいちばんよく出てくる部品が [[functioclienrequest です。むずかしそうな名前ですが、正体はとてもシンプル。「何かを入れると、何かが出てくる箱」だと思ってください。

たとえるなら

関数は自動販売機です。お金とボタン(入力)を入れると、中でゴトンと処理が動いて、ジュース(出力)が出てくる。あなたは中の仕組みを知らなくても、正しく入れれば欲しいものが返ってきます。

この「入力 → 処理 → 出力」の3ステップが関数の全てです。電子レンジも同じ。冷たいお弁当と時間(入力)を入れてスタートを押すと、中で温める処理が走り、あったかいお弁当(出力)が出てきます。

  1. 入力: 関数に渡すもの(お金、お弁当、材料)
  2. 処理: 関数の中で行われる仕事(温める、計算する)
  3. 出力: 関数から返ってくる結果(ジュース、あったかいお弁当)
TEXT
関数「あいさつを作る」
  入力: 名前
  処理: 名前の前後に文をつける
  出力: 「こんにちは、〇〇さん」という文

あいさつを作る("田中")  ->  "こんにちは、田中さん"
擬似コードで見る関数の流れ。言語が違っても考え方は同じ。

なぜ関数を使うの?

同じ処理を毎回ゼロから書くのは大変だからです。一度「あいさつを作る」箱を用意すれば、名前を変えて何度でも呼び出せる。作業を「名前のついた1つのまとまり」にできるのが関数の価値です。

関数なし

同じ処理をあちこちに丸ごとコピペ

TEXT
print("こんにちは、田中さん")
print("こんにちは、佐藤さん")
print("こんにちは、鈴木さん")

関数あり

処理を箱にまとめて、名前で呼び出す

TEXT
あいさつを作る("田中")
あいさつを作る("佐藤")
あいさつを作る("鈴木")

Pythonでは def、TypeScriptでは function という書き方をしますが、文法が違うだけで「入力を受け取って出力を返す箱」という考え方はどの言語でも同じです。

AIにはこう頼む

「名前を受け取って『こんにちは、〇〇さん』という文字列を返す関数を作って。関数名は分かりやすくして」。入力と出力を言葉で先に決めてから頼むと、AIも迷わず作れます。

丸投げの落とし穴

関数の中身を読まずにAI任せにすると、「入力と出力が自分の思ってたのと違う」ことに後から気づけません。中の仕組みは分からなくても、『何を入れたら何が返るか』だけは必ず自分の言葉で確認しましょう。

読んでも腑に落ちない所は、AIに噛み砕いてもらいましょう。

理解度チェック

答えられれば、面接で説明できる状態に一歩近づきます。

Q1

関数を自動販売機にたとえたとき、「出力」にあたるのはどれ?

Q2

関数とは何かを、身近なものにたとえて説明してください。

記述式です。まず自分の言葉で答えを考えてから、模範解答を開いて自己採点してください。