先日、プログラミング言語やフレームワークの学び方を書いたので、せっかくだから、「ポイントをまとめてChatGPTに投げたらまぁまぁまともなドキュメントを作ってくれるんではないか?」という淡い期待を持ったので、やってみました。
テンプレート
プログラミング言語〇〇についての解説を、初心者向けに書いてください。
解説内容として、以下の観点をすべて考慮した上で公式のドキュメントを情報源として記載してください。また、各解説の最後に参照したURLを、リンクせずにURL自体を記載してください。
- 言語の慣例や作法
- 変数の命名
- 標準的なファイル構成
- コメントの書き方
- その他の慣例や作法があれば追記する
- 基本的なコマンドの使い方
- 実行方法
- コンパイル方法
- ドキュメントを読む方法
- その他よく使われるものがあれば追記する
- 基本的な文法
- 定数、変数宣言と基本的な型
- slice, map 等のすべてのコレクション
- すべてのコレクションについて、代入、追加、削除などの操作方法
- 環境変数の取得、セット
- 文字操作
- 追加、部分切り取りなど
- キャスト
- ループ処理
- すべてのループ処理方法
- break, continue, label等があれば、そのサンプルも
- 条件分岐
- 変数の比較方法および優先順位があれば
- 真偽値の取り扱い
- 正規表現
- エラーハンドリング
- ファイル操作
- 標準入力操作
- 標準エラー出力
- 関数の作り方
- 型の作り方
- クラス・メソッドの書き方
- 非同期処理
- その言語に固有な文法(例: Goであれば、interface, generics, channel, groutine、Rustであれば、Option/Result, trate など)
- 以下の仕様のサンプルコードを生成してください。制約として標準的な機能及び標準モジュールのみを使用してください。非同期処理が不可能な場合は、同期処理で実現してください。無理な場合は、「Hello World」を出力するコードでも良いです
- 標準入力から、英数字混じりの文字20桁を受け取る
- 英語の大文字小文字数字の3種類が含まれているかどうかを正規表現を利用してチェックする
- 含まれていなければエラーを表示してexit code 1で終了する
- 英語の連続と数字の連続をカンマ区切りでわけて配列に入れる
- 配列をの中に重複したものが含まれていれば、その数を計算する
- 先程計算したユニークな配列の要素と数を2列のCSVとして複数ファイルに並行処理で書き出す
- ファイル名は各要素の先頭文字.csv とする
- すべての処理が完了するまで待つ
- 処理が完了したことを標準出力に表示する
- exit code 0 で終了する
結果
選んだ言語は思いつきなので、特に思うところはありません。内容の正確性は確認しておりません(テンプレは若干変えてる場合があります)。
終わり
クオリティはイマイチですが、ざっくり知りたいだけなら良いかもしれません。