تمرين إعادة البناء
File Line Counter
أعد كتابة أداة TypeScript تحسب الأسطر والكلمات والمحارف في ملف.
typescript
~12 دقيقة
مبتدئ
أعد بناء الكود
Rebuild
هذا هو الكود. اكتبه بنفسك.
الكود المرجعي
// Run with: npx tsx 06-file-line-counter.ts <path> (requires @types/node).
import * as fs from "node:fs";
type FileStats = {
lines: number;
words: number;
characters: number;
};
function countText(text: string): FileStats {
const trimmed = text.trim();
return {
lines: text.length === 0 ? 0 : text.split(/\r?\n/).length,
words: trimmed.length === 0 ? 0 : trimmed.split(/\s+/).length,
characters: text.length,
};
}
function main(): void {
const filePath = process.argv[2];
if (!filePath) {
console.log("Usage: npx tsx 06-file-line-counter.ts notes.txt");
return;
}
const text = fs.readFileSync(filePath, "utf8");
const stats = countText(text);
console.log(`Lines: ${stats.lines}`);
console.log(`Words: ${stats.words}`);
console.log(`Characters: ${stats.characters}`);
}
main();اكتب هنا