いいじゃん!便利なんだから!!
最近は生成AIが隆盛を極めている。極めすぎている。そういう情報に疎い私はChatGPTしか知らないのだが、周りの人たちはやれなんだのかんだの知らない生成AIの名前を出してきて怖い。やばいぞ私、時代の流れに置いてかれてるぞ!
そんな中でちょっとこの言葉を。
「何かを手軽に済ませると何かが鈍る」
別に生成AIを使うことが悪いことではないでしょう。むしろ使わなきゃ損レベル。ただ、生成AIに頼りっぱなしだと、いざ自分で細かな修正が必要となった時、「あれ、どうするんだっけ?」と思い出すところから始まり、思わぬ落とし穴にはまることもあるんでないかい?という話。AIは便利だが安易に使うと自分の技術が鈍ってしまうのだ。
そこも生成AIに聞けばいいって?ショートカットする人(AI)についていくのと、だっこしてもらうのは少し違う気がする。生成AIに全てコードを書いてもらって何かしらのproductができた時に、
「この操作はどうやったの?」
「ここはなんでこの方法を使わなかったの?」
という問いに
「AIに考えてもらったのでわかりません」
と答えた時点でそのproductは意味をなさなくなる。結局、理解していないと正しいものができたかわからない。しかし、理解するためには自分で手を動かさなければ学べない。
ここまで偉そうに述べておきながら今回は、今まで生成AIにコードを書いてもらっていたけど、どうやってやってたのか理解できていなかったものを学ぶ回。講釈垂れておきながら自分が理解できていないという何たる皮肉。何やねんこいつの極み。
しかもその内容はフォルダの中にあるファイルをどう選択するかという本当に初歩的な部分。「なんか初心者が勉強してら」と思ってください。それでは。
何すか?つけるだけじゃダメだって言うんすか?
ダメです。
とりあえず、今の私の技術レベルを晒しておきます。
「特定のファイルをStreamReaderとかで読み込むとき、特定のファイルを指定するとしたらあなたはどうしますか?」
string input = @"D:\nanika\haitteru\folder\file1.msp";
「特定のフォルダ内にある.mspファイルを全て今後の操作で扱いたいです。どうしますか?」
string input = @"D:\nanika\haitteru\folder\";
string file1 = input + "file1.msp"
string file2 = input + "file2.msp"
string file3 = input + "file3.msp"
・・・
「ちょ、まてよ」とキ〇タクばりのストップがかかります。100ファイルとかあったらどうすんねん、と。そのままつけていくの?頑張る?頑張るのか?
調べてきなさい私、出来るよきっと。
それ、GetFilesでできますよ
string input = @"D:\nanika\haitteru\folder\";
foreach (var input in Directory.GetFiles(input, "*.msp")){
honyahonyahonya
}
System.IOのDirectory.GetFiles、こいつぁ便利だ。あるフォルダ以下にあるファイルを全て拾ってくることができてしまう。GetFiles()の括弧内、手前がフォルダ、後ろが引っ張ってくる条件になっている。今回であれば「ファイル名の一番後ろが.mspの物を拾ってくる」といったもの。これで後ろにくっつけていく必要がなくなりますね。
おしまい!次があるならフォルダーの中のフォルダー選択とかやってみますかね。