見出し画像

【基礎から学べるプログラミング】関数ってなに? 現役フリーランスエンジニアが徹底解説!


はい、どうも!

フリーランスエンジニアの南だいすけです!

今回は【基礎から学べるプログラミング】関数ってなに? 現役フリーランスエンジニアが徹底解説!について話していきます!


関数をちゃんと理解できると一気にプログラミングが楽しくなりますし、

プログラミングの本質的なところをさらう事ができるので、

今回の記事で完全にマスターしちゃいましょう!


耳で聞きたい方はこちら↓




関数とは


関数とは名前をつけて処理をまとめたもののことです。

ファンクションとも言われています。


例えば「関数 朝のルーティン」があったとしたら、

・ベッドから起きる
・カーテンをあけて日光を浴びる
・顔を洗う
・歯磨き
・水を飲む

これを実行してくれます。


例えば毎日予定を作るとして、

これを毎日いちいち書くのはだるいですよね?


朝のところは「朝のルーティン ※1」とだけ書いて、

中身は別のところに注意書きしている感覚です!

(※1 〜〜〜〜〜〜〜みたいな感じです!)


プログラミングも一緒で読み手がわかりやすいように、

できるだけコードを簡潔にする必要があります。

そこで関数が役立つわけです!


また実はこのルーティンの中で「顔を洗う」の前に

「スマホをチェックする」が入っていた場合、

今まで作った予定に項目を入れ直すのはかなり面倒な作業です…


関数化しておくことで先ほどの例でいうところの(※ 1 〜〜)に、

書かれているものだけを直せばいいだけなので修正も簡単です!


ここに前回学習した変数を混ぜると最強に便利になります!

\記事はこちら↓/



フルーツジュースを作る話を例にすると、

「関数 フルーツジュースを作る」 を実行すると以下が実行されます。

・トレーAとトレーBにセットするフルーツを決める

・トレーAにフルーツをセット
・トレーBにフルーツをセット
・牛乳を持ってくる
・上記三つをミキサーでミックス


これを毎回いちいちしなくても、

この関数を定義しておけばいつでも実行できるので作る側は楽ですね!

また実用編で詳しく話しますが、

・トレーAとトレーBにセットするフルーツを決める

このセットするフルーツを引数といいます。

他の項目は一行空いていないのに、

この項目だけ一行空いているのはそのためです!



つまり


関数こそがプログラミングを学ぶ上で、

めちゃくちゃ大切な要素ということになります。


関数化することでプログラミングを簡略化し構造的にすることができます。


この考え方は日常生活でも役立たせることができ、

普段何気なくしていることを自動化したり、

チェックリストなどは毎回作るのではなく、

事前に作っておいて時間を作ることができるようになります!


なのでプログラミングの思考(オブジェクト思考やロジカルシンキング)

学ぶことで日常で大きく役立つというのは

こういうところからもきているわけですね!


また私も初心者の頃よくやっていたミスとしては、

「関数はあくまで処理をまとめたものであり実行しなくては実行されない」

ということはこれからプログラミング学習される方は覚えておきましょう!


具体的に本でいう注意書きがあってもどこかにその番号を降らなければ、

「これってどこの注意書きなんだ?」となるのと一緒です。


なのでちゃんと使いたいところでその関数を使うようにしましょう!



実用編


今回は私が用意したcustomCellを例に、

なるべく実務に近い形で解説して聞きます!


今回は以下のLabelの文字を反映することを目的とした

「関数 setup」を用意しました。

「関数 setup」とは

・nicknameLabel
・postTimeLabel
・contentLabel
に各々の適切なtextを入れる関数


はじめにcustomCellはこんな感じです!

スクリーンショット 2020-10-31 16.39.35


そしてSwiftで書いたコードはこんな感じです。

スクリーンショット 2020-10-31 16.38.53


書き方はこうです。


func 関数名 {
これを実行したらしたいことを書く
}


使うときはこんな感じです。

スクリーンショット 2020-10-31 16.50.41

ちなみにこれは好き好きがありますが、

引数のところで改行すると見やすくなります。

スクリーンショット 2020-10-31 16.50.58

なのでこれは改行しているだけで、上と全く同じコードです。


書き方はこうで使うことができます。

関数名(引数名: 引数の型にあった値をいれる)


今回は実行毎にテキストを決められるようにしているので、

実行時にsetup(name: ○○, postTime: ○○, content: ○○)

みたいな感じで()の中の○○を指定された型でを書く必要があります。

今回○○はStringなので文字で適切ものを入れましょう!


フルーツジュースでも話しましたが、

このことを引数といい ()の中に変数のようなもの入れて、

使う時にそれを決めることができます!


今回の場合はnameに南 だいすけ、postTimeに16:00、contentに今日もYouTubeを撮るぞ!

と書いているので各々のLabelでそのように設定されています。


実際に反映したのはこちら!

スクリーンショット 2020-10-31 16.54.52


無事指定した通り文字が入っているのがわかります!


こんな感じで関数を使うといろいろな所で同じ処理をする際に便利です!


「一度使った処理だな」とか「これは汎用的だから関数化しよう!」

と言った感じでどんどん関数化していき、

プログラムを読みやすいように工夫しましょう!



さいごに


最後まで読んでいただいてありがとうございました!

少しでも読んでくださった方の力になれたのなら幸いです。

本来なら自分のやっている情報商材の案内などをするところなのでしょうけど、私はやっていないのでYouTubeチャンネルとTwitterの紹介させてください!

YouTube:

南だいすけのYouTubeはこちら


Twitter:

南だいすけのTwitterはこちら


これからも役立つような情報を発信していきますので、

気に入って頂けたらスキやフォローをしていただけると嬉しいです!

コメントも大歓迎です!お待ちしています!


ではまた次の記事でお会いしましょう!



この記事が参加している募集

noteのつづけ方

この記事が気に入ったらサポートをしてみませんか?