GoogleAppsScript「関数 ~作り方・使い方~」

GoogleAppsScript

材料(引数)を渡すことで完成品(返り値)を作ってくれる工場

こんにちは、徳です。

デジタルDIYができるようコーディング・プログラミング・画像加工・動画編集などを本やYouTubeで勉強しています。

現在は、初心者なので、とにかくゆっくり進んでいくと思います。

また、「間違っていること」や「こうした方が良いよ」などがあれば、コメントなどしていただけたら幸いです。

では、いきましょう!


GoogleAppsScript

今回は、

関数の作り方・使い方

です。

GoogleAppsScriptでは、さまざまな処理を「計算」することによって行うことがあります。

この計算に必要なものの一つの

関数

について紹介します。

徳

関数がないと、同じ作業をする場合、

毎回同じ文を書く必要があります。

それではよろしくお願いします。

関数

説明

関数とは

関数とは、

複数の処理をまとめて定義し、いつでも呼び出せるようにする仕組み

です。

徳

文にするとちょっとわかりにくいですね。

つまり、

何度も同じことを書くと間違える可能性が高くなるから、一つにまとめちゃおう

と言うことです。

徳

実は、オブジェクトのメソッドと役割が似ていますよね。

実際には、オブジェクト内の関数のことをメソッドと言います。

関数は工場

よく関数は、

工場

に例えられます。

工場は、材料を渡して設計図通りの作業をしてくれて完成品にして持ってきてくれます。

そして関数には、引数処理文返り値があります。

そして、

引数:材料処理文:設計図返り値:完成品

に例えられます。

つまり、

引数(材料)を渡して、処理文(設計図)通りに作業してくれて、返り値(完成品)にして渡してくれる

ものです。

徳

ただし、関数によっては引数(材料)返り値(完成品)がないものもあります。

なぜ関数が必要なのか?

プログラミングをしていると、何度も同じ作業をしている箇所が出てくことがよくあります。

その度に、同じ文を書いていると、

  • プログラムが長くなり読みにくくなってしまう
  • 複数あるうちの一つでも打ち間違えていたら思った値が出ない
  • 修正するときも全て修正しないといけない

などの問題があります。

それを、一つにまとめてくれるのが

関数

です。

関数として先に定義することにより、そのまとめた作業をするときは、関数を呼び出すだけで済みます。

これにより、

  • プログラムが長くなり読みにくくなってしまう → 一つにまとめられるため短くできる
  • 複数あるうちの一つでも打ち間違えていたら思った値が出ない → 一度しか打たないため、打ち間違いの可能性は減らせる
  • 修正するときも全て修正しないといけない → 定義した文を修正するだけで良い

このため、GoogleAppsScriptでは、関数は非常に重要です。

徳

GoogleAppsScriptだけではなく、どのプログラミング言語でも、

読みやすい・治しやすい・間違えにくい

というのはとても重要です。

書き方

書き方は、

function 関数名 (引数1, 引数2 , ...) {
     処理文
     ...
     ...
     return 戻り値 ;
}

です。

徳

引数戻り値はなくても関数はできます。

また、functionは関数と言う意味があります。

例えば

引数戻り値ともにない場合

function hello() {
     console.log("Hello world!");
}

この場合、hello関数を実行するとコンソールに、Hello world!が表示されます。

徳

ちなみに、console.logも関数の一つです。

この場合、.logが関数名で、()の中身が引数です。

console.log(引数)は、「カッコの中身引数コンソールconsole表示するlog」と言うものです。

ちなみに、この形見たことありませんか?

実は、スクリプトエディタを開いた時の形が、

  • 関数名:myFunction
  • 引数:指定していない
  • 処理文:指定していない
  • 戻り値:指定していない

状態の関数が書かれています。

徳

中身は自分で書くことになります。

関数名

関数を呼び出すとき、名前がないと呼び出せないですよね。

呼び出すときに使うものが、

関数名

です。

GoogleAppsScriptでの関数名は、

  • 1文字目に数字はダメ
  • $や_

などのいくつかの条件があります。

また、関数名を見て何をする関数なのかをわかりやすくする必要があります。

なので、英語の単語を繋げたものが多いです。

そのとき単語と単語の間は、一文字目を大文字にして繋げます

そして、

最初は小文字で動詞から始まる

(幅を変える関数ならchangeWidth・年齢を確認する関数ならcheckAgeなど)

関数名が多いです。

徳

実際には、そういった決まりはありません。

しかし、その関数名を見て何をやっているかがわかる関数名の方が良いプログラミング文となります。

引数

引数とは、

こちらから関数に渡すデータ

です。

この引数を処理文にも入れることで、関数を呼び出したときに渡したデータを処理文で変化や比較などの作業をしてくれます。

徳

引数を渡すことによって、計算結果が変わったり、比較した結果が変化します。

また、引数はなくても良いです。

関数を呼び出すときに常に同じ作業をしてほしい場合に使う関数には引数は入りません。

例えば

印刷の確認をする関数の場合

function checkPrint(){
        let ans = confirm("印刷していいですか?");                /* 印刷していいですか?と表示し、OKorキャンセルを押してもらう */
        if (ans == true){                                                         /* もしOKなら */
                    print();                                                            /* 印刷する */
        }
}

このように、こちらから与えるデータのないものには、引数は入りません。

処理文

処理文には、条件分岐(if)や繰り返し(while)などや関数を入れて、作業する内容を入れていきます。

徳

こちらは、これから一つづつ紹介していきます。

ゆっくり勉強しましょう。

戻り値

関数に引数を渡し、作業してもらったら、その結果を受け取る必要があります。

その値が、

戻り値

です。

戻り値は、関数の最後に必ず、

return 戻り値;

で書きます。

また、先程の印刷の確認をする場合のように、戻り値がいらない関数もあります。

その場合は、returnも入りません。

OnePoint

戻り値がある場合、そのまま呼び出しても保存する場所がありません。

そのため、呼び出すときは、

const 変数名 = 関数名 (引数);
let 変数名 = 関数名 (引数);

のようなに定数や変数に保存できるようにしましょう。

使い方

GoogleAppsScriptでの関数の使い方は、

を押すことでできます。

例えば

こちらの関数を実行してみましょう。

このようにボタンを押すことで、関数の実行ができます。

OnePoint

もし、一つのスクリプトエディタに二つ以上の場合、ボタンを押しても実行されるのは一つの関数のみです。

ではどうすれば、他の関数が実行されるでしょか?

それは、

こちらの関数を指定するボタン

を押しましょう。

このボタンで別の関数を指定することで、

指定した関数を実行することができます。

まとめ

今回は、関数について紹介させていただきました。

関数は、GoogleAppsScriptにおいて、

行って欲しい作業を一つにまとめたもの

です。

また関数には、もともとあるオブジェクトに入っている関数と、自分で複数の作業をひとまとめにして関数名をつける関数があります。

もともとある関数に関しては、使いながら覚えていきましょう。

自分でひとまとめにして作る関数は、もともとある関数や+-×÷などの計算を使ってひとまとめにするもののため、書き方を覚えましょう。

ここで紹介したのは関数の中の最初であり、まだまだたくさん使うものはあります。

しかし、ここからやっていかないと訳がわからなくなってしまうので、ゆっくり慣れていきましょう。

徳

私は、最初全くわけがわかりませんでした(××)

これで理解しやすい言語ってどういうこと!?って思っていました。

やっぱり基本が一番重要です。

最後まで読んでいただき、ありがとうございました。

コメント

タイトルとURLをコピーしました