[ChatGPT]プログラミングはChatGPTを活用しながら

ChatGPTChatGPT

どうも。つじけ(tsujikenzo)です。今日は単発で「プログラミングはChatGPTを活用しながら」を、お送りします。

はじめに

最近、世間を賑わせているのが、ChatGPT(チャットジーピーティー)です。

ChatGPTによると、ChatGPTとは、

とのことです。

プログラミングのソースコードを書いてくれることでも、注目を集めています。

ときどき、間違ったコードを教えてくれるときもありますが、とても精度が高いと思います。 

しかし、どんなときに使うのか分からない、という方も多いと思います。

そこで、わたしが「今後、プログラミングするときは、ChatGPTを活用するのが常識。」と思っているポイントをご紹介します。

ChatGPTのログイン方法などは、他のブログ記事などにおまかせします。

Introducing ChatGPT
We’ve trained a model called ChatGPT which interacts in a conversational way. The dialogue format makes it possible for ChatGPT to answer followup questions, ad...

正規表現

最大の活用法は、正規表現です。

正規表現は、さまざまなアプローチがあり、慣れていないと冗長になりがちです。

また、自分が覚えた記法ばかりを使ってしまい、もっとシンプルに書けるばめんを見失っています。

現在動いているプログラムの、正規表現のところだけをChatGPTと一緒にリファクタリングしてもいいでしょう。かなりスッキリすると思います。

では、やりかたです。

ゴールと元素材を教える

まず第1に、ChatGPTに、目指すゴールと元素材を教えるだけで、目的が達成できるばあいがあります。

たとえば、このような文字列が取得できていて、「1.09倍」だけを抽出したいというときです。

//元素材
</b><font size=1>1.09倍</font></font><br>

↓

//ゴール
1.09倍

このように聞きます。

</b><font size=1>1.09倍</font></font><br>から1.09倍を抽出する正規表現

こう、教えてくれました。

ChatGPTのおどろくべきは、会話を続けると、コードも教えてくれるところです。 

matchメソッドの戻り値は配列ですので、わたしならこう書きます。大した差ではありません。

const origin = "</b><font size=1>1.09倍</font></font><br>";
const reg = /([\d.]+)倍/;
const result = origin.match(reg)[0];

console.log(result); //1.09倍

まず、”</b><font size=1>”を削除して、その後に”</font></font><br>”を削除して・・・、というかたに、ぜひオススメします。

文字列型のメソッド

文字列の加工に、正規表現が使えないばめんもあると思います。

sliceだかsubstrだかメソッドを使うのはうるおぼえだけど、コードが書けないということはよくあります。

たとえば、このような数字の文字列が取得できていて、数字を2文字ずつ抽出して、最終的にDateオブジェクトを生成したいというときです。

//元素材
品番:"JP-ABC230120"

↓

//抽出後
"230120"

↓

//さらに抽出
"23","01","20"

↓
//ゴール"
2023年1月20日"(Dateオブジェクト)

ゴールと元素材にメソッドを指定する

このように聞いてみました。

sliceメソッドを使って、230120から23、01、20を抽出するコード

こう、教えてくれました。

ついでに、Dateオブジェクトの生成も聞いてみましょう。

このように、回答をもらいました。

これ、ちゃんと動くコードです。

これからのプログラミング

Dateオブジェクトの生成方法は、引数にわたす形式が、4種類以上あって、好みが分かれます。

const today = newDate()
const birthday = newDate('December 17, 1995 03:24:00') // 非推奨: すべてのランタイムで動作するとは限りません
const birthday = newDate('1995-12-17T03:24:00')   // ISO-8601 互換であり、動作に信頼性があります
const birthday = newDate(1995, 11, 17)            // 月は 0 から始まります
const birthday = newDate(1995, 11, 17, 3, 24, 0)
const birthday = newDate(628021800000)            // 元期のタイムスタンプを渡す

引用元:MDM Date オブジェクトを生成するいくつかの方法

これらの記法を、すべて覚える必要はないでしょう。

今までは、コードの書き方を忘れたら、調べる、もしくは自分のメモを見る、でしたが、これからは「ChatGPTに聞く」という手段が加わったという感じです。

注意すべき点

プログラミング初心者は、ネットで拾ったコードを切り貼りすると思います(わたしも経験済みです)が、かならず壁にぶち当たります。

ChatGPTもどうように、これを使えば、必ず生産性が上げられるというものではないかもしれません。むしろ、ちょっとしたコードの改造、改修ができずに、何時間も調べものに費やすという事態に陥りかねません。

そこは、基礎知識力が問われるところです。

ChatGPTを活用できるようになるためにも、ぜひ、基礎力を付けましょう!

ノンプロ研の、GAS初級講座がオススメです。

まとめ

以上で、「プログラミングはChatGPTを活用しながら」をお届けしました。

ChatGPTは、今後もさまざまなばめんで、わたしたちの日常に入り込んでくると思います。

そして実は、ChatGPTはGASからかんたんに呼び出すことができます。

次回は、「ChatGPTでブログ下書きを自動化しよう」をお送りします。

このシリーズの目次

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