Hello World

Hello World

টিউটোরিয়াল অনুশীলনী

ভূমিকা

“Hello, World!” আপনার TypeScript লেখা শুরু করাবে এবং Exercism-এর কাজের ধরনের সাথে আপনাকে পরিচিত করাবে। এটি সম্পন্ন করলে TypeScript ট্র্যাকের বাকি অংশ আনলক হয়ে যাবে।

শুরু করতে আমাদের "Introduction to Hello, World" ভিডিওটি দেখুন 👇

নির্দেশনা

ক্লাসিক পরিচিতিমূলক অনুশীলনী। শুধু বলুন "Hello, World!"।

"Hello, World!" হলো নতুন কোনো প্রোগ্রামিং ভাষা বা পরিবেশে প্রোগ্রামিং শেখার প্রথাগত প্রথম প্রোগ্রাম।

লক্ষ্যগুলো সহজ:

  • দেওয়া কোডটি এমনভাবে পরিবর্তন করুন যাতে এটি "Hello, World!" স্ট্রিংটি তৈরি করে।
  • টেস্ট স্যুটটি রান করুন এবং নিশ্চিত করুন যে এটি সফল হয়েছে।
  • আপনার সমাধান সাবমিট করুন এবং ওয়েবসাইটে গিয়ে সেটি যাচাই করুন।

সবকিছু ঠিকঠাক চললে, আপনি আপনার প্রথম সত্যিকারের অনুশীলনীটি সংগ্রহ করার জন্য প্রস্তুত হবেন।

সেটআপ

প্রয়োজনীয় ডিপেন্ডেন্সি ইনস্টল করতে TypeScript-এর সেটআপ নির্দেশনা দেখে নিন:

https://exercism.org/docs/tracks/typescript/installation

প্রয়োজনীয়তা

অ্যাসাইনমেন্টের ডিপেন্ডেন্সিগুলো ইনস্টল করুন:

$ yarn install

টেস্ট স্যুট পাস করানো

টেস্টগুলো এভাবে চালান:

$ yarn test

অনেক টেস্ট স্যুটে প্রথমটি ছাড়া বাকি সব টেস্ট স্কিপ করা থাকে।

একটি টেস্ট পাস হয়ে গেলে, xit-এর জায়গায় it লিখে পরের টেস্টটি আনস্কিপ করতে পারেন।

টিউটোরিয়াল

এই অংশে ধাপে ধাপে এই অনুশীলনীটি সমাধান করার নির্দেশনা রয়েছে।

এই অনুশীলনীতে দুটি ফাইল আছে:

  • hello-world.ts
  • hello-world.test.ts

প্রথম ফাইলে আপনি আপনার কোড লিখবেন। দ্বিতীয়টিতে টেস্টগুলো ডিফাইন করা আছে।

টেস্টগুলো যাচাই করবে আপনার কোড ঠিক কাজ করছে কি না। শূন্য থেকে টেস্ট স্যুট লিখতে জানা আপনার থাকা জরুরি নয়, তবে একটি টেস্ট দেখতে কেমন এবং তা কী করছে সেটা বুঝতে পারলে সুবিধা হয়।

টেস্ট ফাইল 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)

আর এবার এটি পাস করে!

GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
TypeScript Exercism

Hello World শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, TypeScript ট্র্যাকের 108টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।