“Hello, World!” আপনার TypeScript লেখা শুরু করাবে এবং Exercism-এর কাজের ধরনের সাথে আপনাকে পরিচিত করাবে। এটি সম্পন্ন করলে TypeScript ট্র্যাকের বাকি অংশ আনলক হয়ে যাবে।
শুরু করতে আমাদের "Introduction to Hello, World" ভিডিওটি দেখুন 👇
ক্লাসিক পরিচিতিমূলক অনুশীলনী। শুধু বলুন "Hello, World!"।
"Hello, World!" হলো নতুন কোনো প্রোগ্রামিং ভাষা বা পরিবেশে প্রোগ্রামিং শেখার প্রথাগত প্রথম প্রোগ্রাম।
লক্ষ্যগুলো সহজ:
সবকিছু ঠিকঠাক চললে, আপনি আপনার প্রথম সত্যিকারের অনুশীলনীটি সংগ্রহ করার জন্য প্রস্তুত হবেন।
প্রয়োজনীয় ডিপেন্ডেন্সি ইনস্টল করতে TypeScript-এর সেটআপ নির্দেশনা দেখে নিন:
https://exercism.org/docs/tracks/typescript/installation
অ্যাসাইনমেন্টের ডিপেন্ডেন্সিগুলো ইনস্টল করুন:
$ yarn install
টেস্টগুলো এভাবে চালান:
$ yarn test
অনেক টেস্ট স্যুটে প্রথমটি ছাড়া বাকি সব টেস্ট স্কিপ করা থাকে।
একটি টেস্ট পাস হয়ে গেলে, xit-এর জায়গায় it লিখে পরের টেস্টটি আনস্কিপ করতে পারেন।
এই অংশে ধাপে ধাপে এই অনুশীলনীটি সমাধান করার নির্দেশনা রয়েছে।
এই অনুশীলনীতে দুটি ফাইল আছে:
প্রথম ফাইলে আপনি আপনার কোড লিখবেন। দ্বিতীয়টিতে টেস্টগুলো ডিফাইন করা আছে।
টেস্টগুলো যাচাই করবে আপনার কোড ঠিক কাজ করছে কি না। শূন্য থেকে টেস্ট স্যুট লিখতে জানা আপনার থাকা জরুরি নয়, তবে একটি টেস্ট দেখতে কেমন এবং তা কী করছে সেটা বুঝতে পারলে সুবিধা হয়।
টেস্ট ফাইল hello-world.test.ts খুলুন। এর ভেতরে একটি মাত্র টেস্ট আছে:
it('says hello world', () => {
expect(hello()).toEqual('Hello, World!')
})
এখন কমান্ড-লাইনে নিচের কমান্ড দিয়ে টেস্টটি চালান:
$ yarn test
টেস্টটি ফেল করে, যা খুব স্বাভাবিক, কারণ আপনি এখনো কোনো কোড লেখেননি।
ফেল করার রিপোর্টটি এরকম দেখায়:
× says hello world (5ms)
● Hello World › says hello world
expect(received).toEqual(expected) // deep equality
Expected: "Hello, World!"
Received: "Goodbye, Mars!"
4 |
5 | it('says hello world', () => {
> 6 | expect(hello()).toEqual('Hello, World!')
| ^
7 | })
8 |
9 | })
at Object.it (hello-world.test.ts:6:32)
আর এগুলো হলো hello-world.test.ts ফাইলের সম্ভাব্য ত্রুটিপূর্ণ কোড লাইন:
৬ নম্বর লাইনটি:
expect(hello()).toEqual('Hello, World!')
^
তাই সমস্যাটি hello() ফাংশন কলেই।
দেখা যাচ্ছে, টেস্টটি আউটপুট হিসেবে 'Hello, World!' আশা করছে, কিন্তু পাচ্ছে "Goodbye, Mars!"।
তাহলে এখন hello-worlds.ts ফাইলের এই ফাংশনটি দেখি:
export function hello(): string {
return 'Goodbye, Mars!'
}
এখন দেখা যাচ্ছে, ফাংশনটি ভুল স্ট্রিং রিটার্ন করছে, আর এটাই আমাদের ফেল করার কারণ। রিটার্ন ভ্যালুটি বদলে এটি ঠিক করি:
export function hello(): string {
return 'Hello, World!'
}
আবার টেস্টটি চালান:
PASS ./hello-world.test.ts
Hello World
√ says hello world (4ms)
আর এবার এটি পাস করে!
Exercism-এ সাইন আপ করুন, TypeScript ট্র্যাকের 108টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।