チャレンジ:ファイルシステム操作
メニューを表示するにはスワイプしてください
目標
タスク管理自動化の技術習得。1つのソースからタスクを収集し、その内容を抽出して別のファイルに統合するアプリケーションの開発。処理中に発生する可能性のあるエラーへの対応も含む。
タスク
2つのファイルがあると仮定:
tasks.txt:既存タスクのリストを含むファイルnew-task.txt:tasks.txtに追加すべき単一タスクを含むファイル
以下の手順でチャレンジを完了:
- 作業環境の準備
- 新しいフォルダを作成
- 好みのコードエディタで開く
tasks.txtの作成
-
tasks.txtというファイルを作成 -
以下のタスクを追加、または準備済みファイルをダウンロード:
内容:
Teach a goldfish to play chessBuild a sandcastle in your living roomCreate a song 🎶 using only sounds from nature
-
new-task.txtの作成new-task.txtというファイルを作成
-
以下のタスクを追加、または準備済みファイルをダウンロード:
内容:
Invent a new dance move and perform it in public
app.jsの作成
- ファイル操作のために
fsモジュールをインポートreadFile()でnew-task.txtの内容を読み込む
.then()と.catch()で成功・失敗の処理を行う.then()ブロック内でappendFile()を使い、内容をtasks.txtに追加- 挿入したタスクの後に改行文字(
\n)を追加
- アプリケーションの実行
app.jsを保存- ターミナルを開き、以下を実行:
node app
下のコードエディタを使用する場合、ご自身のファイルは認識されず、進捗も表示されないことにご注意ください。
123456789const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
ヒント
- ファイル操作のために
fsモジュールをインポート。 fs.readFile("new-task.txt", "utf-8")を使い、ファイルnew-task.txtから内容を読み込む。.then()をチェーンして、ファイル内容の読み込み成功時の処理を行う。.then()ブロック内で、内容を引数として受け取るコールバック関数を指定。.then()の Promise のreadFileブロック内で、fs.appendFileを使い、内容をtasks.txtファイルに追加する処理を返す。- 追加する内容の区切りとして改行文字
\nを含めることを忘れずに。 .then()操作のappendFileブロックの後に、チェーンして.catch()ブロックを追加し、チェーン全体で発生するエラーを処理。.catch()ブロック内で、エラーを引数として受け取るコールバック関数を指定。.catch()ブロック内で、エラーメッセージと受け取ったエラーをログ出力。- Node.js でスクリプトを実行するには
node appと入力。
解答例
const fs = require("fs").promises;
fs.readFile("new-task.txt", "utf-8")
.then((content) => {
return fs.appendFile("tasks.txt", content + "\n");
})
.catch((error) => {
console.log("Error occurred:", error);
});
すべて明確でしたか?
フィードバックありがとうございます!
セクション 2. 章 4
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
チャレンジ:ファイルシステム操作
目標
タスク管理自動化の技術習得。1つのソースからタスクを収集し、その内容を抽出して別のファイルに統合するアプリケーションの開発。処理中に発生する可能性のあるエラーへの対応も含む。
タスク
2つのファイルがあると仮定:
tasks.txt:既存タスクのリストを含むファイルnew-task.txt:tasks.txtに追加すべき単一タスクを含むファイル
以下の手順でチャレンジを完了:
- 作業環境の準備
- 新しいフォルダを作成
- 好みのコードエディタで開く
tasks.txtの作成
-
tasks.txtというファイルを作成 -
以下のタスクを追加、または準備済みファイルをダウンロード:
内容:
Teach a goldfish to play chessBuild a sandcastle in your living roomCreate a song 🎶 using only sounds from nature
-
new-task.txtの作成new-task.txtというファイルを作成
-
以下のタスクを追加、または準備済みファイルをダウンロード:
内容:
Invent a new dance move and perform it in public
app.jsの作成
- ファイル操作のために
fsモジュールをインポートreadFile()でnew-task.txtの内容を読み込む
.then()と.catch()で成功・失敗の処理を行う.then()ブロック内でappendFile()を使い、内容をtasks.txtに追加- 挿入したタスクの後に改行文字(
\n)を追加
- アプリケーションの実行
app.jsを保存- ターミナルを開き、以下を実行:
node app
下のコードエディタを使用する場合、ご自身のファイルは認識されず、進捗も表示されないことにご注意ください。
123456789const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
ヒント
- ファイル操作のために
fsモジュールをインポート。 fs.readFile("new-task.txt", "utf-8")を使い、ファイルnew-task.txtから内容を読み込む。.then()をチェーンして、ファイル内容の読み込み成功時の処理を行う。.then()ブロック内で、内容を引数として受け取るコールバック関数を指定。.then()の Promise のreadFileブロック内で、fs.appendFileを使い、内容をtasks.txtファイルに追加する処理を返す。- 追加する内容の区切りとして改行文字
\nを含めることを忘れずに。 .then()操作のappendFileブロックの後に、チェーンして.catch()ブロックを追加し、チェーン全体で発生するエラーを処理。.catch()ブロック内で、エラーを引数として受け取るコールバック関数を指定。.catch()ブロック内で、エラーメッセージと受け取ったエラーをログ出力。- Node.js でスクリプトを実行するには
node appと入力。
解答例
const fs = require("fs").promises;
fs.readFile("new-task.txt", "utf-8")
.then((content) => {
return fs.appendFile("tasks.txt", content + "\n");
})
.catch((error) => {
console.log("Error occurred:", error);
});
すべて明確でしたか?
フィードバックありがとうございます!
セクション 2. 章 4