ছিনিয়ে বাউডেন: এই হল আরো আরামদায়ক অধ্যায়, কিন্তু যে মানে এই নয় আপনি যদি আপনি আরো আরামদায়ক পারব মত মনে আপনি এখানে কিছু শিখতে হবে না. সুতরাং আসুন শুরু করা যাক. আপনি স্লাইড আছে সঠিক জিনিস মধ্যে যাওয়া. আমি প্রায় ঠিক এই মুহূর্তে এটা নিতে করছি? ল্যাপটপের পালটে. মাফ: আপনি না চান , রব নিজেকে পরিচয় করিয়ে? ছিনিয়ে বাউডেন: ওহ, আমি রব নই. এটা আমার পঞ্চম বছরের TF হয়- ing CS50. গ্যাব্রিয়েল: আমি গ্যাব্রিয়েল আছি. আমি CS50 এর মাথা TF আছি. আমি গত বছর এবং এই বছর TF ছিল. মাফ: এবং আমি Alison আছি, এবং এই আমার দ্বিতীয় বছরের TF হয়- ing CS50. ছিনিয়ে বাউডেন: ঠিক আছে, তাই বাম থেকে এই জিনিস, আশা করছি আপনি আগে এটা দেখা করেছি. যদি না আপনি কারণ নিজের জন্য এটা ডাউনলোড, আপনি বক্তৃতায় এটা দেখা উচিত. সুতরাং এই CS50 প্রয়োগ হয়, এবং তিনি একটি কিছুটা এটি একটি বর্ণনার করেনি বক্তৃতায়. কিন্তু মূলত এটা শুধু আপনি নয় একটি অপারেটিং দৌড়াচ্ছে আপনার অপারেটিং মধ্যে সিস্টেম সিস্টেম আমরা আপনাকে দিতে পারে যাতে প্রয়োজন ছাড়া প্রোগ্রাম ওহ এই হল, চিন্তা করতে উভয় উইন্ডোজ উপর কাজ করে যাচ্ছে এবং আপনি এর ম্যাক, অথবা যদি কিছু ইতিমধ্যে, লিনাক্স লিনাক্স ব্যবহার হয়. এটা ঠিক করতে অনুমিত এর একটি সাধারণ বাজানো হবে ক্ষেত্রের তাই সবাই আছে একই সঠিক পরিবেশ. আপনি না থাকে তাহলে তাই ইতিমধ্যে এই ডাউনলোড আপনি আছেন, কারণ আপনি এটি ডাউনলোড করা উচিত সমস্যা সেট জন্য এটি প্রয়োজন যাচ্ছে. এবং এটি একটি দুই গিগাবাইট হয় এটা কিছুক্ষণ সময় নিতে পারে তাই, ডাউনলোড করুন. হার্ভার্ড উপর এটি দ্রুত যাবেন. সুতরাং CS50 অ্যাপ্লায়েন্স. এখন প্রারম্ভে, আমরা চলুন কমান্ড লাইন থেকে মাত্র একটি গুচ্ছ সম্পর্কে কথা স্টাফ, এবং তাই যে করে, আমি কাজ মানে এখানে উপর এই সামান্য পরিবেশে. আর জিনিস সব বিজ্ঞপ্তি আমি ডান এখন ডান এখানে বলে আপনি ভেতরে হন তাহলে কাজ করতে যাচ্ছি এর ভিতরে একটি টার্মিনাল, অথবা আপনি ভেতরে যদি gedit টার্মিনাল উইন্ডোর এর ভিতরে. সুতরাং যারা পরিবেশের অভিন্ন. কিন্তু আমি একটি তৃতীয় রুট যেতে চলেছি. এবং এখানে এই নিচে বিজ্ঞপ্তি অধিকার এখানে একটু আইপি ঠিকানা. সুতরাং আপনি করতে হবে না এই কাজ, কিন্তু এই আইপি address-- এখন ব্যতীত তোমার যদি এটা এই জিনিস দ্বারা অবরুদ্ধ হচ্ছে. ঠিক আছে, যাতে IP ঠিকানা টার্মিনালে ওভার এখানে তাই এই টার্মিনাল ওভার এখানে আমার ম্যাক একটি টার্মিনাল হল. তাই এই বর্তমানে কোন ভাবেই না এ সব যন্ত্র সঙ্গে যুক্ত. আপনি উইন্ডোজ করছি, তাহলে আপনি আছেন কিছু ডাউনলোড করার প্রয়োজন চালু বিশেষভাবে এই জন্য, বিশেষ করে মানুষ পুটিং পি-ইউ-টি-টি-ওয়াই ব্যবহার ঝোঁক. সুতরাং আমি কি করতে যাচ্ছি ধরন SSH- এবং তারপর যে আইপি ঠিকানা. ভাল, যে IP ঠিকানা এ jharvard. সুতরাং 192.168.24.220. এই ভীতিকর বার্তা, তা উপেক্ষা করা. শুধু হ্যাঁ টাইপ. এই একটি বাক্সে CS50. এটা আপনার পাসওয়ার্ড জন্য অনুরোধ জানানো হবে. তাই এই প্রেক্ষিতে যেখানে অনেক মধ্যে এটি [শ্রবণাতীত], পাসওয়ার্ড জন্য অনুরোধ করবে. আমরা প্রশ্ন যেখানে অনেক পেয়েছেন এটা আসলে এটি টাইপ না বলছেন. এটা আপনি অক্ষর প্রদর্শন করা হয় না পাসওয়ার্ড হিসাবে আপনি টাইপ, যদি কিছু, একটি নিরাপত্তা বৈশিষ্ট্য জন্য, কারণ যদি কেউ আপনার কাঁধ ধরে খুঁজছি হয় এবং তারা তারকা তারকা দেখতে তারকা তারকা, তারপর তারা জানেন যে আপনার পাসওয়ার্ড চার অক্ষরের হয়. তাই ধারণা এটা জিজ্ঞাসা করবে আপনার পাসওয়ার্ড টাইপ জন্য আপনি. এটা দেখাতে যাচ্ছে না আপনি অক্ষর, কিন্তু এটি আসলে তাদের গ্রহণ করে. এই ক্ষেত্রে, যে কোনো সময় আপনি কখনও একটি পাসওয়ার্ড প্রম্পট দেখতে যন্ত্র সঙ্গে আচরণ, পাসওয়ার্ড আরক্ত হতে যাচ্ছে. তাই গাঢ় লাল. আর এখন এখানে এই ভেতরে আমার ম্যাক এ যে উইন্ডো, আমি মূলত am হচ্ছে একই সঠিক দেখুন একটি টার্মিনাল ভেতরে হিসাবে যন্ত্র. তাই আপনি এই কাজ করতে হবে না. আপনি সবকিছু করতে পারেন এর ভিতরে চান. আমি প্রায় আসলে কি কখনও প্রয়োগ মধ্যে কিছু. আমি প্রায় সবসময় এখন যে কমান এবং আমি যন্ত্র মধ্যে SSH- র কাজ করছি. যদি কিছু, আপনি যদি একটি মন্থর কম্পিউটার আছে আপনি একটি পার্থক্য লক্ষ্য করা হতে পারে. আমি পছন্দ কারণ আমি এই কাজ এই টার্মিনাল উইন্ডোতে. এটা ভালো কিছু বৈশিষ্ট্য রয়েছে আমি উইন্ডো বিভক্ত করতে পারেন, এবং এখন আমি এ SSH পারেন যন্ত্র মাধ্যমে. আমি দুই SSH- র একযোগে যাচ্ছে পেয়েছিলাম. আপনার কম্পিউটারে বিশেষ করে ধীর হলে এবং আপনি, যন্ত্র কাজ করছি এবং আপনি এই বুঝতে পারছি সত্যিই laggy, যাই হোক না কেন. অনেক দ্রুত হতে থাকে আপনি SSH- র-ইডি হন তাহলে. কিন্তু অন্যথায় আপনি উভয় ক্ষেত্রেই কাজ করতে পারেন. শ্রোতা: SSH- র অর্থ কি? ছিনিয়ে বাউডেন: সিকিউর শেল, যে ভালো কিছু? SSH- র অর্থ কি? গ্যাব্রিয়েল: সিকিউর শেল. মাফ: এটা শুধু নিরাপদ শেল এর. ছিনিয়ে বাউডেন: সিকিউর শেল. এটা এটি পৌছে দিতে যে একটি প্রোটোকল এর একটি সুরক্ষিত প্রোটোকল, তাই এনক্রিপ্ট. মানুষ নেটওয়ার্ক অন্যের ব্যাপারে নাক গলানো করতে পারে না এবং আপনি কিছু করতে বলছে তা দেখতে আপনি SSH- র-এড করছি. এবং বাস্তবিকই, সেকালের মধ্যে CS50 এর দিন, 2009 সালে তাই আমি একজন নবীন, উপায় ছিল যখন যে আপনি, CS50 সমস্যা সেট কাজ আপনি কিছু সার্ভার থেকে SSH-এড ছিল যে আমরা, আপনি অ্যাক্সেস দিয়েছেন এবং আপনি সেখানে কাজ. তাই আপনি যদি এই আছে কি না গ্রাফিক্যাল যন্ত্র. আপনি gedit আছে কি না. আপনি সব জিনিষ আছে কি না আপনি বিন্দু দৃশ্যত এবং ক্লিক করুন পারে. আপনি এই ইন্টারফেসে কাজ ছিল. আমি এই ইন্টারফেসে কাজ করতে পছন্দ করে. আমরা চলুন কি তাই অংশ এখনই ওভার যাচ্ছে করা একটি গুচ্ছ আছে আপনি উচিত যে কমান্ড হিসাবে সঙ্গে পরিচিত পেতে শুরু আপনি কোর্সে বরাবর যান. আর সত্যি বলতে, আপনি একবার তাদের ব্যবহার করতে পারেন, এটা এত দ্রুত হয় এই পরিবেশে কাজ এটা আবিষ্কর্তা সঙ্গে কাজ করতে হয় বেশী, টেনে এবং কিছু ক্লিক. সুতরাং এখানে আমরা. এখন আমি শুধু SSH- র-ইডি সালে, এবং তাই ডিফল্ট আপনি location-- , ক্লাসে এই কমান্ডের কিছু দেখেছি কিন্তু আমরা আবার তাদের সব উপর যাবেন. আমরা এসেছি ডিফল্ট অবস্থান হোম ডিরেক্টরি. আর ডিরেক্টরি, শুধু ফোল্ডারের জন্য অন্য শব্দ. সুতরাং আমরা home ডিরেক্টরির মধ্যে আছেন. ফাইল তালিকা, ls টাইপ এই ডিরেক্টরির মধ্যে. স্পষ্টতই আমি আগে একটি blah.c নির্মিত. সুতরাং আমরা একটি ডেস্কটপ ডিরেক্টরির আছে. আপনি সিনট্যাক্স হাইলাইটিং লক্ষ্য? হালকা নীল হাইলাইট নির্দেশ একটি ডিরেক্টরি এবং সোজা সাদা শুধু একটি প্লেইন ফাইল নির্দেশ করে. তাই বলে সেখানে যাচ্ছি আপনি দেখতে কিছু অন্যান্য রং. একটি এক্সিকিউটেবল ফাইল সম্ভবত যাচ্ছে যে মত সবুজ বা কিছু হতে. ঠিক আছে, তাই আমরা হোম ডিরেক্টরীতে হয়. এখন আমি একটি ভিন্ন মধ্যে যেতে চান ডিরেক্টরি, সিডি আমি চাই কমান্ড. সুতরাং আপনি তখন ডিরেক্টরি পরিবর্তন, এবং ডিরেক্টরির নাম পাস আপনি মধ্যে যেতে চান না. তাই আমরা এখানে চারটি অপশন আছে. আমি ডাউনলোডসমূহ মধ্যে যেতে পারেন, এবং এখন আমরা দেখতে এখানে এই বন্ধনীসমন্বিত আপডেট হয়েছে আমি ~ / ডাউনলোডসমূহ আছি বলে. সুতরাং টিল্ড কি? এটা জন্য একটি সাঁটে লেখার আছে আপনার হোম ডিরেক্টরি. তাই আপনাকে যা প্রায় সব যাচ্ছে আপনার হোম ডিরেক্টরীতে সম্মান সঙ্গে হতে, এবং pwd মাত্র একটি কমান্ড আমি বছরে একবার ব্যবহার যে শুধু বর্তমান ডিরেক্টরির ছাপে. এবং যাতে আপনি এখানে দেখতে ~ / ডাউনলোডসমূহ সত্যিই সংশোধিত / হোম / jharvard / ডাউনলোডসমূহ যাও. সুতরাং, / home / jharvard আমার হোম ডিরেক্টরির হয়. সুতরাং আমরা সিডি ডট ডট পারেন. এখন বিন্দু বিন্দু একটি বিশেষ ডিরেক্টরির যে সবসময় এক ডিরেক্টরির আপ বোঝায়. আমি ~ / ডাউনলোডসমূহ আছি, তারপর সিডি ডট তাই ডট টিল্ড আমাকে আনতে যাচ্ছে. আমরা সিডি ডট ডট কী ভাবছেন এখন আমাকে আনতে যাচ্ছে? এটা / বাসায় আমাকে আনতে পাবেন. সুতরাং মুদ্রণ পরিশ্রমী ডিরেক্টরি দ্বারা টিল্ড, আমি এখন / হোম / jharvard আছি. যে থেকে এক ডিরেক্টরিটি আপ, এখন এটা হোম / এখানে বলছেন. সিডি ডট ডট এখন. এখন আমি রুট ডিরেক্টরি আছি, এবং আপনি আবার এটা করতে পারে না. আপনি শুধু থাকতে করব চিরকালের রুট ডিরেক্টরি. রুট ডিরেক্টরি আভা আছে আপনি তদন্ত করতে চান তাহলে, যে জিনিষ, আপনি পারেন. উদাহরণস্বরূপ, আমি যেতে হলে বিন মধ্যে, যে রয়েছে যেমন ম হিসাবে এই সব বাইনারি,, এবং সিডি, এবং সেগুলো সব. তাই এই কমান্ড প্রয়োজন সিস্টেম কোথাও অস্তিত্ব, এবং এটি / বিন ডিরেক্টরির মধ্যে এর. কিন্তু আপনি কি প্রায় সব হয় আপনার হোম ডিরেক্টরি থেকে হতে যাচ্ছে. আর সবটা কোনো আর্গুমেন্ট বিনা সিডি, আপনি সিডি ~, প্রয়োজন হবে না বলতে পারে. সিডি আনতে যাচ্ছে ফিরে আপনার হোম ডিরেক্টরিতে. একটা শেষ এক. সিডি - আপনাকে ফেরত আনতে যাচ্ছে আপনি যে ছিল গত ডিরেক্টরি. তাই আমি ঠিক, একটি সারিতে দুইবার cd'd তাই আমার গত ডিরেক্টরি home ডিরেক্টরির ছিল. আমি এখন বিন কাট, এবং যান এর আপ এবং ব্যবহারকারী ঢোকা যাক. ব্যবহারকারী ভাগ. এর ইউজার শেয়ার করতে যাওয়া যাক. এখন আমি ইউজার শেয়ারের মধ্যে এখন আছি. সিডি - ফিরে বিন. তাই এই বিশেষ দরকারী পায় আপনি থাকতে এবং যখন এটি টগল করব. ব্যবহারকারীর ফিরে ভাগ, বিন, ভাগ বিন তাই. তাই এই দরকারী পায়. আপনি, নিজেকে অনেক জমিদারি পেতে পারে অনেক, অনেক নেস্টেড ডিরেক্টরি. এবং যদি আপনি কিছু করতে চান একটি ঊর্ধ্ব ডিরেক্টরির মধ্যে বাস্তব দ্রুত. আপনি যে ডিরেক্টরিতে যান, না যে মত পরিবর্তন ও কাপড়, এবং এখন আপনি যেতে চান ফিরে যেখানে আপনি ছিল যাও. সিডি -. আমি সবসময় হতাশ নই আমি যেতে ঘটতে যখন যে ডিরেক্টরির আমি করতে এ কাজ করতে চেয়েছিলেন. আমি যখন আমি সবসময় হতাশ পরিবর্তে এক ধাপ দুটি পদক্ষেপে এটা, যে যে সিডি মানে কারণ - যাচ্ছে যে অন্তর্বর্তী অবস্থান মধ্যে আনা পরিবর্তে আমি যেখানে যেতে চান এর. তাই আমরা সব তালিকায় ফাইল দেখতে. আমরা এ পর্যন্ত প্রায় পেতে কিভাবে জানি. তাই এখন এর ফাইল সম্পাদনা সম্পর্কে কথা বলুন. এই কোর্সে সুতরাং, আপনি আছেন প্রায় সবসময় gedit ব্যবহার প্রত্যাশিত. আপনি যদি চান, আপনি পরবর্তী পদক্ষেপ নিতে পারে এবং একটি কমান্ড লাইন টেক্সট শেখার শুরু সম্পাদক. তাই বিভিন্ন অপশন বিদ্যমান. আর বেশী সম্ভবত আছে আপনি প্রাসঙ্গিক হতে যাচ্ছে, আমরা ন্যানো, তেজ, এবং Emacs আছে. সুতরাং ন্যানো করুন হয় কমান্ড লাইন টেক্সট এডিটর. সুতরাং ন্যানো এর উপর ছেড়ে দেওয়া blah.c আমি আগে তৈরি. এটা শুধু এই মান সি ফাইল আছে. এবং যদি আপনি স্টাফ আভা দেখতে পর্দার নীচের অংশে যাওয়া, এবং দৃশ্যত blah.c এই সি কোড রয়েছে. , এই বিশেষ এডিটর তাই কি এটা নীচে এ বলছে এখন এই ক্যারেট প্রতীক, আমরা এই ^ জি, ^ এক্স, ^ হে দেখতে. সুতরাং যে প্রায় সব আপনি দেখতে যে প্রেক্ষাপটে, আপনি যে ক্যারেট চিহ্ন দেখতে পারে স্ট্যাক ওভারফ্লো উপর অনলাইন অন্যান্য স্থানে,, যে ভালো কিছু. এটা প্রায় সবসময় নিয়ন্ত্রণ বোঝায়. তাই আমি কাজ করতে চান প্রস্থান করার কন্ট্রোল এক্স কন্ট্রোল এক্স, প্রস্থান করে. এবং আমি আমার তীর ব্যবহার করতে পারেন নির্দেশক কাছাকাছি যেতে. আমি নির্দেশ করুন এবং নির্দ্ধিধায় ক্লিক পারবেন না লক্ষ্য করুন. আপনি আপনার তীর ব্যবহার প্রয়োজন নির্দেশক কাছাকাছি যেতে. একটি সেটিং আছে হতে পারে নির্দেশ করুন এবং ক্লিক করুন. কিন্তু এর কিছু পরিবর্তন করতে দিন. এখন কন্ট্রোল এক্স প্রস্থান যেতে. এটা পরিবর্তিত বাফার সাশ্রয়ী বলে যাচ্ছে. এখন হ্যা জন্য প্রম্পট, Y, এন কোন জন্য. বাতিল জন্য কন্ট্রোল সি. আমি শুধু হ্যাঁ বলার করব. লিখতে নামের ফাইল. ডিফল্ট ফাইল এটি আগে থেকেই যে. Enter চাপুন. ঠিক আছে. এখন আমি শুধু যে ফাইল সম্পাদনা করেছি, এটি সংরক্ষিত, এবং এটি পরিবর্তিত হয়. সুতরাং ন্যানো সহজে টেক্সট এডিটর ব্যবহার করতে পারেন. বিকল্প তেজ এবং Emacs হয়. যারা উচ্চ স্তরের টেক্সট এডিটর যে একটি খুব খাড়া লার্নিং কার্ভ আছে. তাই আমার ব্যক্তিগত পক্ষপাত তেজ হয়. এবং এটা অপশন বিভিন্ন ধরণের আছে. আর আপনি ব্যবহার করতে পারেন একবার এটি করার জন্য, আপনি কখনও পাবেন অন্য কোন যেতে চান টেক্সট সম্পাদক আপনাকে কারণ শুধু তাই অনেক কিছু আছে এ সবের মধ্যে আপনার জন্য উপলব্ধ, কিন্তু এটি একটি সত্যিই লাগে দীর্ঘ সময় জানতে. তাই হয়তো আপনি শুধু বল, চাই নিজের অধিকার এখন, এটা করার জন্য ব্যবহৃত পেতে কিন্তু আমি এটা জরুরী বলতে হবে. কিন্তু এটা কঠিন. এবং তারপর Emacs. আমি সবসময় Emacs মধ্যে সংগ্রাম কারণ আমি একেবারে কিছুই করতে জানেন কিভাবে. দৃশ্যত Emacs ডিফল্টরূপে নয় গৃহ সরঞ্জাম ইনস্টল. আমরা সম্ভবত যে যোগ হবে একটি ডিফল্ট ইনস্টলেশনের হিসেবে. আপনি এক শিখতে একবার তেজ বা Emacs, আছে কোন বাধ্যকারী কারণ কখনো, অন্য শিখতে কিন্তু এটি একটি সম্পূর্ণ ভিন্ন শৈলী. ঠিক আছে, তাই যে টেক্সট ফাইল সম্পাদনা করে. শ্রোতা: আপনি আটকে ছিল যদি তেজ মধ্যে এখন, কত না we-- ছিনিয়ে বাউডেন: আছে তেজ মধ্যে একাধিক মোড, এবং সমগ্র আছে তেজ শেখার উপর টিউটোরিয়াল. সুতরাং আপনি হতে ঘটতে হলে যাতে সন্নিবেশ মোড মধ্যে যা আপনি করতে পারেন, টেক্সট টাইপ করতে বিভিন্ন উপায়ে লিখুন, আপনি সন্নিবেশ মোড ঢোকা কিভাবে কিন্তু আমি হল. বা কোনো বিশেষ নামা আপনি আছেন যে মোডে, শুধু অব্যাহতি. আর আপনি শুধু পেতে অব্যাহতি bash কোনো নেস্টেড মোড আপনার মধ্যে আউট. শুধু ঠিক আছে, এখন আমি ফিরে স্বাভাবিক মোডে আছি. আর তাই স্বাভাবিক মোডে, একটি কোলন. আপনি এটা নীচে প্রদর্শিত দেখতে. এবং তারপর প্রশ্ন. আপনি পরিবর্তন করেছি তাই আপনি যদি কুই প্রস্থান করবে, যা তোমার আমি পরিবর্তন করেছেন? আমি দৃশ্যত পরিবর্তন করেছেন. আপনি পরিবর্তন করেছি, এটা করব তাই আপনি কোন বিস্ময়বোধক চিহ্ন রাখা যাবে বলে. আমি একটি ঠুং এটি কল যাচ্ছি. তাই আপনি যদি একটি নিষেধাজ্ঞা যাও লাগাতে পারেন শুধু কিছু কাজ ছাড়া প্রস্থান, বা মলাশয় wq সংরক্ষণ এবং অব্যাহতিপ্রাপ্ত হবে. W সাধারণ তাই লিখতে হয়. সুতরাং ফাইলটি লিখতে. আমি লিখতে এবং প্রস্থান করতে পারেন. অথবা আপনি শুধু আছে পারে QX স্লাম, কুই ঠুং শুধু নির্বিশেষে সেখানে নামা আপনি তৈরি করেছি যে কোনো পরিবর্তন. ঠিক আছে, তাই এখন আসুন go-- আমরা ফাইল তৈরি করতে পারেন. এর ফাইল অপসারণ শুরু করা যাক. আর আমি শুধু এক নিক্ষেপ করব দ্রুত নতুন কমান্ড, স্পর্শ. তাই foo বিন্যাস স্পর্শ. টাচ বার. Baz স্পর্শ. আমি ls, এখন আমরা দেখতে হলে ঐ ফাইল যে অস্তিত্ব. তারা সম্পূর্ণ খালি করছি. সুতরাং স্পর্শ শুধু একটি সহজ হয় এক উপায়, [শ্রবণাতীত]. দুই, টেকনিক্যালি ঠিক রাষ্ট্র যাও এটি, এটি টাইম-স্ট্যাম্প আপডেট. তাই আপনার তৈরি করা কোনো ফাইল আছে একটি টাইমস্ট্যাম্প এর সাথে জড়িত. সুতরাং Baz উপর তৈরি করা হয়েছে 16:21 এ সেপ্টেম্বর 14. এটা যদি তাই, এখন 16:22 এর আমি আবার Baz স্পর্শ, আমরা দেখতে যে Baz ছিল সবচেয়ে সম্প্রতি 16:22 এ পরিবর্তিত. কিন্তু অন্যথায় আমি প্রায় কখনই ফাইল টাইম-স্ট্যাম্প তাকান. স্পর্শ সুতরাং, এখানে আমি শুধু ব্যবহার করছি এটা কিছু দ্রুত ফাইল তৈরি করতে. ঠিক আছে, তাই এখন RM হয় আমরা এখানে যত্নশীল যে কমান্ড. এবং আমরা বু RM পারেন. নিয়মিত খালি ফাইল বু অপসারণ বলুন. এবং আমরা Y টাইপ করতে পারেন, এবং এখন মুছে যাবে না. RM Baz. নিয়মিত খালি ফাইল সরান Baz এবং কোন জন্য টাইপ এন. এখন এটা মুছে ফেলা না. তাই বার এবং Baz এখনও বিদ্যমান. Foo সর্বস্বান্ত হয়. গ্যাব্রিয়েল: কথা রাখুন. ছিনিয়ে বাউডেন: গ্রেট. বিরক্তিকর বার্তা সুতরাং এখানে, নিয়মিত empty-- অপসারণ আপনি সেখানে কি ডাউন করছেন? নিয়মিত খালি ফাইল সরান. আমরা হতে চাই না যদি তাই যে বার্তা দ্বারা বিরক্ত, আমরা এই -f মধ্যে নিক্ষেপ করতে পারেন পতাকা, এবং তাই যে বল না. আমি -f rm এবং এখন যদি, এটা যাচ্ছে না আপনি এই ফাইলটি সরাতে চান না বলে. এটা ঠিক এটা করব. এবং ম, আমি আর সেখানে বার দেখতে না. এখন যে একটি সম্ভাব্য হয় বিপজ্জনক কমান্ড. এটা খুব খারাপ না থাকে. আমরা একটি দ্বিতীয় মধ্যে ফিরে আসবো কিভাবে এটা সত্যিই বিপজ্জনক পেতে পারেন. এবং এর কিছু টেম্প ডিরেক্টরি তৈরি করা যাক. mkdir, অন্য কমান্ড. সুতরাং mkdir একটি কমান্ড হল যে একটি ডিরেক্টরির তোলে. এবং এখন ম দ্বারা আমরা এই চমৎকার আলো দেখতে নীল টেম্প ডিরেক্টরি হাইলাইট. আমি টেম্প মধ্যে সিডি পারেন. এবং আমি foo বিন্যাস mkdir পারেন. foo বিন্যাস মধ্যে সিডি. mkdir বার. বারে সিডি. তাই আমরা আমরা সহজেই পেতে পারেন দেখুন কিছু প্রশংসনীয় গভীর পাখির মধ্যে. এখন কিভাবে আমি একটি ডিরেক্টরির অপসারণ না? rmdir. তাই আমি ঠিক সোজা RM করার চেষ্টা করে, মত আমরা একটি নিয়মিত ফাইল সঙ্গে করেনি RM বার করতে যাচ্ছে বার সরাতে পারবেন না বলে. এটা একটি ডিরেক্টরি. একটি বিশেষ কমান্ডের জন্য আছে ধরনের, ডিরেক্টরি মুছে ফেলে. সুতরাং rmdir বার. এখন বার সর্বস্বান্ত হয়. ঠিক আছে, তাই rmdir আমি ব্যবহার প্রায় কাছাকাছি না. এখন আসুন being-- কারণ এখানে একটি নিয়মিত ফাইল বার করতে. সুতরাং rmdir বু. rmdir. Foo বিন্যাস অপসারণ করতে ব্যর্থ. ডাইরেক্টরি খালি না. তাই আপনি যদি একটি উপর dir সরিয়ে ব্যবহার করতে পারবেন না এটি জিনিষ আছে যে ডিরেক্টরি. সুতরাং আপনি কিছু অপশন আছে. আপনি যে ডিরেক্টরির মধ্যে যেতে পারেন, অপসারণ সবকিছু নিজে করুন, এবং তারপর খসা এবং ডিরেক্টরি rmdir. যে সম্ভবত বিরক্তিকর শব্দ. হাজার হাজার কী আছে সেখানে ফাইল? হ্যাঁ, আপনি * RM পারে. আমরা একটি দ্বিতীয় মধ্যে * সম্পর্কে কথা বলতে পারবেন. এটি মূলত সবকিছুর মানে. কিন্তু এখনো ভাল, তাই RM -r. সুতরাং RM -r-- অনেক মধ্যে কনটেক্সট, -r, রিকার্সিভ মানে আমরা যে বিষয়ে কথা বলতে পারবেন যা কী কয়েক সপ্তাহের মধ্যে রিকার্সিভ মানে. কিন্তু এটা মূলত ঢুকা মানে এই ডিরেক্টরির সম্পূর্ণতা এবং সবকিছু মুছে ফেলুন. সুতরাং RM -r foo বিন্যাস বলতে যাচ্ছে ডিরেক্টরি foo বিন্যাস মধ্যে নামা? হ্যাঁ. নিয়মিত খালি ফাইল / foo বার সরান? হ্যাঁ. ডিরেক্টরি foo বিন্যাস সরান? হ্যাঁ. তাই এখন foo বিন্যাস এবং সবকিছু মধ্যে তা সরিয়ে ফেলা হয়েছে. এখন যে বিশেষ বিরক্তিকর পেতে পারেন when-- এর, 2 স্পর্শ, 1 স্পর্শ 3 সংক্ষেপে আলোচনা করা যাক. ফাইল আভা থাকতে পারে. আমি চেয়েছি, আমি তৈরি করতে পারি এখানে ফাইল খুব উপকারী. এবং rm -r foo বিন্যাস যাচ্ছে বেশ বিরক্তিকর হতে. হ্যাঁ, হ্যাঁ, হ্যাঁ, হ্যাঁ, হ্যাঁ, হ্যাঁ. আরো অনেক ফাইল দিয়ে আপনি দ্রুত কতবার দেখতে আমি হ্যাঁ টাইপ করতে হবে. ভাল, আমরা শুধু কিভাবে আমরা করতে পারেন আগে দেখেছি , হ্যাঁ -f টাইপ করার প্রয়োজন পরিত্রাণ পেতে. সুতরাং mkdir foo বিন্যাস সিডি foo বিন্যাস স্পর্শ 1 2 3. ঠিক আছে, তাই RM -rf foo বিন্যাস যাচ্ছে অন্ধভাবে সম্পূর্ণভাবে foo বিন্যাস মুছে ফেলুন. কোন প্রম্পট. কোন কিছু. Foo সর্বস্বান্ত হয়. তাই আমি এই ব্যবহারের প্রবণতা সব সময় আদেশ. যে এটি একটি হল, বলেন খুব বিপজ্জনক কমান্ড, আমি ভালো কিছু করতে হলে কারণ এই, এটি লেখার অনুরোধ জানানো হবে না. এটা সর্বস্বান্ত করা হবে. এবং এটা প্রশংসনীয় প্রায়শই ঘটে এবং এমনকি উচ্চ স্তরের সি এস কোর্সে. কখনও কখনও আমরা দেখতে পাবেন কিছু যেখানে কেউ আমি ঘটনাক্রমে আমাদের RM RF-ইডি আমার বাড়িতে বলেছেন ডিরেক্টরি এবং আমার পি সেট সব চলে গেছে. এবং এটা, বিধ্বংসী এর কিন্তু কোন ট্র্যাশ করতে পারেন আছে. কিছুই নেই কোন এর আপনি উদ্ধার জন্য. এটা শুধু সর্বস্বান্ত হচ্ছে. হবে এমনকি খারাপ RM -rf / ভালো কিছু. তাই আমরা ঠিক আলোচনা যে রুট ডিরেক্টরি. এটা সব ঝুলিতে আপনার সিস্টেমে ফাইল. থিংস প্রশংসনীয় মলিন পেতে থাকে আপনি ম ভালো জিনিস সরিয়ে যখন, এবং সিডি, এবং যারা সব. শ্রোতা: পার্থক্য কি RM, RF, এবং RM * মধ্যে Rob Bowden: সুতরাং RM * - মাফ: প্রশ্ন কি ছিল RM, RF, এবং RM * মধ্যে পার্থক্য. ছিনিয়ে বাউডেন: * সুতরাং RM. সব সাধারণ অর্থ হলো রাশি এই ডিরেক্টরির বিষয়বস্তু. অন্যান্য মনে করার চেষ্টা করছেন তারকা দেখাচ্ছে উপায়. ওয়েল, সাধারণত আসলে তারকা কোন প্যাটার্ন মেলে মানে. আমি Dog1 নামক একটি ফাইল আছে সুতরাং, cat2 স্পর্শ, Cat1 স্পর্শ, Dog2 স্পর্শ. সুতরাং ম * 1 Cat1 মুদ্রণ যাচ্ছে এবং Dog1, যে তারা ভরা যেতে পারে কারণ এক হতে প্রয়োজন with-- মধ্যে, কিন্তু তারা বিড়াল বা কুকুর হতে পারেন. এটি একটি ওয়াইল্ড কার্ড আছে. যে আমি খুঁজছি শব্দ. ওয়াইল্ড কার্ড. অথবা আমি কুকুর * ls, এবং পারে আমি, Dog2 Dog1 দেখতে পেয়েছিলাম করছি. সুতরাং যারা ফাইল তালিকা করা হয় যে যে বিশেষ প্যাটার্ন মেলে. আপনি এই ভাবে ম ব্যবহার করতে পারেন. Ls * তারকা কিছু মেলে. তাই এটা সব মুদ্রণ যাচ্ছে এই ডিরেক্টরির বিষয়বস্তু তাদের সব থেকে মেলে. এটা কিছু প্রিন্ট যাচ্ছে না উপরের স্তর বইগুলোতে. আমি যদি একটি সাব ডিরেক্টরি, foo বিন্যাস, এবং স্পর্শ 1 2 3-- তাই এখন RM * তারকা যদি, Cat1, cat2, Dog1, Dog2 মুছে ফেলুন. Foo বিন্যাস সরাতে পারেনা. এটা একটি ডিরেক্টরি. তাই তারা সব বিস্তৃতি ডিরেক্টরির মধ্যে ফাইল. তাই টেকনিক্যালি RM * বলছে ভালো হয় RM Cat1, cat2, Dog1, Dog2, foo বিন্যাস. RM -rf যেহেতু, টেকনিক্যালি তারা would কিন্তু RM -rf--, আমরা কি চাই উদ্যাপন আমি এই বাইরে যেতে হলে ডিরেক্টরি, RM -rf টেম্প, যে টেম্প ঢোকা যাচ্ছে এবং recursively সবকিছু মুছে ফেলুন. সুতরাং তারা যে এর মধ্যে আলাদা হয় যে তাই এই জিনিস by-- বোঝা যায় আমি চলমান করছি যে, এই জিনিস যে কমান্ড জন্য আমাকে প্ররোচনা হয় এবং তারপর নির্বাহ এবং করছেন তাদের, আমি আমার শেল এই কল. তাই এই শেল নিজেই একটি প্রোগ্রাম. আর আমি আমি চেয়েছিলেন এ / bin / bash চালানো হবে. শেল করুন bash বলা হয়. এবং এখন আমরা কিছু লক্ষ্য সামান্য পরিবর্তিত হয়েছে, এবং যে জন্য আমার সেটিংস কারণ এর শেল কিছুটা ভিন্ন. কিন্তু এখন আমি টেকনিক্যালি চলমান করছি আমার মূল শেল মধ্যে একটি শেল, এবং আমি এখন যে শেল থেকে প্রস্থান, এবং পারেন আমি ফিরে আমার উপরের স্তর শেল আছি. বলছে উদ্দেশ্য যে তারকা হচ্ছে ÑÑ. সুতরাং তারা কিছু বিষয় ব্যাশ দ্বারা বোঝা. সুতরাং RM -rf, -rf পতাকা শুধু RM দ্বারা বোঝা. এটা জানেন যখন আপনি যে একটি -rf পাস যে আপনি এটা recursively সরাতে চান প্ররোচনা ছাড়া সব ফাইল. তারা কিছু বোঝা যায় ব্যাশ করে যে আপনি RM * বলে যখন, ব্যাশ বলতে যাচ্ছে না হেই RM *, তারা মুছে ফেলুন. ব্যাশ * RM বলে যাচ্ছে Cat1, cat2, Dog1, Dog2 মুছে ফেলুন. এটি স্বয়ংক্রিয়ভাবে প্রসারিত যাচ্ছে ডিরেক্টরির মধ্যে ফাইল সব. এবং একইভাবে টিল্ড অন্য ব্যাশ বুঝতে পারে যে প্রতীক. আপনি সিডি ~, ব্যাশ বিস্তৃতি বলতে যখন আপনার হোম ডিরেক্টরীতে যে. অন্য প্রশ্ন এতদূর? ঠিক আছে, তাই আমরা দ্রুত যাচ্ছে শুরু করতে যাচ্ছেন. ট্যাব সমাপ্তির. শুধু আছে তা বর্জন করা. মানুষ অনেক না এই বিদ্যমান বুঝতে পারছি. তাই আমি সিডি Dow টাইপ করে, আমি ডাউনলোড মধ্যে যেতে চান. আমি nloads টাইপ করার আপনার প্রয়োজন নেই. আমি শুধু ট্যাব আঘাত করতে পারেন. সুতরাং এটা স্বীকার করে যে Dow একটি উপসর্গ হয় যে কিছু মেলে না এই ডিরেক্টরির মধ্যে অন্য, তাই এটা আপনার জন্য যে সম্পন্ন হবে. এখন আমি লিখতে পারেন. আমি recursively যে কি. সুতরাং mkdir foo বিন্যাস. এর foo বিন্যাস ঢোকা যাক. mkdir বার. তাই আমার বাড়িতে ফিরে যাওয়া ডিরেক্টরি, আমি ডাউনলোডসমূহ দেখতে পারেন. এখন আবার ট্যাব আঘাত, স্বয়ংক্রিয়ভাবে foo বিন্যাস পূরণ করতে যাচ্ছে. এটা শুধুমাত্র ডিরেক্টরির এর. স্বয়ংক্রিয়ভাবে, আবার ট্যাব আঘাত বার পূরণ করতে যাচ্ছে. তাই এখন আমি (ডাউনলোড / foo বিন্যাস / বার ~) আছি. তাই এই ট্যাব সমাপ্তির, যখনই আমি অফিসে ঘন্টা পেয়েছিলাম এবং আমি ধরে দাঁড়িয়ে আছি কেউ এর কাঁধে, এবং তারা RM চলুন ডি-হে-ওয়াট-এন-এল-হে-একটি-ডি-এস, আমি মারা যাচ্ছি. শুধু ট্যাব, ট্যাব, ট্যাব, ট্যাব. তাই স্পষ্টভাবে ট্যাব ব্যবহার. এবং একইভাবে আপ এবং মানুষের নিচে, অনেক শুধু যে ঘটেছে কখনও আপ আঘাত এবং নিচে আছে. এটা আগের দিয়ে যাবেন কমান্ড, তাই যদি আপনি শুধু কিছু দৌড়ে, এবং আপনি আবার এটি রান করতে চান, আপনি এটা পেতে পর্যন্ত শুধু আপ রাখা. ঠিক আছে. সুতরাং দ্রুত, কিছু অন্যান্য বিষয়. এর temp মধ্যে ফিরে যাওয়া যাক. এর কিছু ফাইল তৈরি করা যাক. এখানে তাই, আমি শুধু আছি কিছু শব্দের তালিকা যাচ্ছে. কুকুর, বিড়াল, মীআও. এর, মাছ কুকুর করুক না. তাই এখন দুনম্বরি একটি খুব হয় দরকারী কমান্ড যে আপনি সারা অনুসন্ধান ব্যবহার একটি নির্দিষ্ট টেক্সট জন্য ফাইল, এবং টেকনিক্যালি আপনি সত্যিই কি করতে পারেন এটা জন্য জটিল এক্সপ্রেশন মেলে. তাই এখানে, আমি grep যদি, এবং কি আমি এর জন্য অনুসন্ধান করতে চান না? এর আমি বিড়ালের জন্য অনুসন্ধান করছি বলা যাক, এবং আমি এই ফাইল সব অনুসন্ধান করতে চান. সুতরাং কিভাবে আমি এই ফাইল সব করব? রাশি. সুতরাং ফাইল এক, আমি বিড়াল আছে. আমি সম্ভবত হতে পারে এটা কিছু ভালো বলা, যে দেখে মনে হচ্ছে কারণ লাইন নম্বর বা কিছু. কিন্তু ফাইল এক আমি বিড়াল সঙ্গে একটি লাইন আছে. ফাইল দুটি আমি বিড়াল সঙ্গে একটি লাইন আছে. তাই এখন আমি ফাইল এক ভিতরে সন্ধান করতে পারেন এবং দেখতে ওহ হ্যাঁ, যে ফাইলটি বিড়াল আছে কি. নোটিশ ফাইল তিনটি না মিলে বিড়াল সেখানে না থাকার কারণে. আমি মীআও জন্য grep পারেন. শুধু দুটি মীআও রয়েছে দায়ের. সুতরাং আপনি একত্রিত করতে পারেন এই, আবার, সাথে -r, যা হিসাবে আমি আগে বলেন ঘন ঘন রিকার্সিভ মানে. তাই আমি এখানে আসা আপ করতে পারেন, grep -r কোনো ইনস্ট্যান্সের এর সম্পাদনা দেওয়া র জন্য এই একটি মাত্র সেখানে একটি বিড়াল নিক্ষেপ করা. সুতরাং কোনো উদাহরণস্বরূপ -r grep এই ডিরেক্টরির জুড়ে বিড়াল. এবং এটা recursively হবে কোনো সাব অনুসন্ধান. সুতরাং Baz মধ্যে, বিড়াল আছে. টেম্প / 2 ইঞ্চি, বিড়াল আছে. এবং temp মধ্যে / বিড়াল 1 আছে. সুতরাং যে ফাইলের মধ্যে অনুসন্ধান করা হবে. এখন আপনি একটি খুঁজে ব্যবহার করতে পারেন. তাই বিশেষভাবে সম্পর্কে জানতে একটি প্রদত্ত নাম দিয়ে ফাইল খুঁজছেন. সুতরাং আসুন আরো কিছু করতে দিন. এর ডাউনলোডসমূহ ঢোকা যাক. Dog1 স্পর্শ. Cat2 স্পর্শ. Cat_dog স্পর্শ. Catcat স্পর্শ. তাই আমি সব অনুসন্ধান করতে চান নামে কুকুর সঙ্গে ফাইল. সুতরাং এটি, এবং দীর্ঘতম জন্য আমি মনে কখনও সময় কিভাবে খুঁজে অবশেষে আমি যতক্ষণ না কাজ এটা তাই স্পষ্ট হয়েছে যে কিছু পড়তে. সুতরাং স্বয়ংক্রিয়ভাবে রিকার্সিভ, খুঁজে. আপনি একটি -r পাস করার প্রয়োজন হবে না. সুতরাং ডট খুঁজে. আমরা এখনো ডট সম্পর্কে কথা বলত না. সবসময় ডট ডট যেহেতু এক ডিরেক্টরির আপ মানে. ডট সবসময় বর্তমান ডিরেক্টরির মানে. তাই আমি এ -r ডট RM পারে একই ভাবে আমি * -rf RM পারেন. পরিশেষে তারা একই জিনিস সাধা. RM -rf ডট অপসারণ যাচ্ছে সমগ্র বর্তমান ডিরেক্টরির. ঠিক আছে, আমি সেখানে যেতে চাই না যা. কিন্তু বিন্দু খুঁজে. সুতরাং recursively বর্তমান অনুসন্ধান ডিরেক্টরি, এবং এখন সবকিছু এই পরে পতাকা একটি গুচ্ছ যে আপনি ফিরতি থেকে জিনিস অগ্রাহ্য ব্যবহার. সুতরাং খুঁজতে ডট সবকিছু ফেরৎ যে এটি বর্তমান ডিরেক্টরি থেকে জানতে পারেন. যারা সব ফাইল recursively অনুসন্ধান. আমরা একটি দ্বিতীয় মধ্যে যারা কিছু দেখতে পাবেন. কিন্তু ক্ষেত্রে আপনি আমি কি ভাবছি কিভাবে করছি , যে অন্ততপক্ষে কমান্ড কে, তাই ম্যাক আমার টার্মিনালে এটি মুছে ফেলা হবে. কন্ট্রোল এল সাধারণত মুছে ফেলা হবে টার্মিনাল কোনো সাজানোর জন্য এটি. এছাড়াও আপনি স্পষ্ট টাইপ করতে পারেন. এবং যদি আপনি কখনও পেতে হলে একটি অদ্ভুত scenario-- মধ্যে এটা আমার একটি দম্পতি যাও ঘটেছে এর time-- যেখানে আপনার অনুরোধ জানানো রং সমস্ত আপনি তছনছ আপ, বা হয় কিছু দেখতে সক্ষম হয় না আপনি টাইপ করছেন যখন কারণ, টাইপ করা হচ্ছে কখনও কখনও পটভূমির রঙ সেট করা হয় ভালো ফোরগ্রাউন্ড কালার হিসাবে একই এবং এখন আপনি ফন্ট দেখতে পারছি না. রিসেট শুধু রিসেট এমন কিছু বিষয় ডিফল্ট কালো পটভূমি করতে, সাদা সামনে, বা যাই হোক না কেন আপনি তাদের সেট. তাই যেখানে আমরা ছিলাম? ডট খুঁজুন. এই গত তাই এখন সবকিছু বিন্দু ফলাফল নিয়ন্ত্রণ কিছু করার যে মেলানো প্রদত্ত প্যাটার্ন. তাই এখানে আমি আপনাকে চাই নাম বিড়াল সঙ্গে সবকিছু. আমি কিছুই পেয়েছেন. কেন যে কেস? ওয়েল, আমি শুধু জন্য অনুসন্ধান করছি ঠিক নাম বিড়াল সঙ্গে কিছু. আমি কিছু অনুসন্ধান করতে চান যে কিছু প্যাটার্ন আছে, এবং cat-- কোট টেকনিক্যালি, প্রয়োজন হয় না কিন্তু আমি সেখানে তাদের নিক্ষেপ করছি. তাই এখন এটা catcat কারণ খুঁজে বের করে যে শুধুমাত্র জিনিস যে কিছু অবাধ হয়েছে প্যাটার্ন বিড়াল দ্বারা অনুসরণ. আমি এখন বিড়াল * করা, এবং পারেন , catcat, cat_dog, cat2 খুঁজে যারা কারণ বিড়াল সঙ্গে সবকিছুর করো কিছু দ্বারা অনুসরণ শুরুতে. আপনি এই একত্রিত করতে পারেন. আপনি সব সি ফাইল জন্য অনুসন্ধান করতে চান আপনি, যে আপনি * গ করতে পারে. আমরা এখানে blah.c আছে. সুতরাং যে খুঁজে কাজ করে. আপনি অনুসন্ধান করতে পারেন. এটা পতাকা আভা আছে আরও নিষেধাজ্ঞা জন্য. আর তাদের উপর এক, এর -d বলা যাক. সুতরাং অবচিত. ওহ, যে আমি চাই কি না. -d নেই. প্রকার ঘ. সুতরাং ডট খুঁজে - টাইপ ঘ. তাই কি যে ঠিক কি আমি অনুসন্ধান করছি হয় বর্তমান ডিরেক্টরির মধ্যে সমস্ত ফাইল জন্য ছাগু karigor.com ঘ ঘোরা সাথে ডিরেক্টরিতে ডিরেক্টরি টাইপ. এই সব ডিরেক্টরি ফেরৎ বর্তমান ডিরেক্টরির মধ্যে. আর টাইপ ফল সব নিয়মিত হয় ফাইল, সব অ ডিরেক্টরি. সুতরাং যে শুধু একটি অন্যান্য উপায়ে যেমন আপনি অন্যান্য অনুসন্ধান সীমিত করা যাবে ফাইলের শুধু নাম ছাড়া. এটা 30 মিনিট পার হয়েছে. এখনও যাচ্ছে. মাফ: আমি মাধ্যমে হাওয়া করব. এটা জরিমানা করা হবে. Rob Bowden: সুতরাং কিছু অন্যান্য বিষয়. এখন, বিস্ময়বোধক চিহ্ন মুহূর্তেই. সুতরাং যে সাধারণত মানে ভাল, এর একটি উদাহরণ দেখতে দিন. তাই! চ, কি যে করতে যাচ্ছে? আচ্ছা এটা আছে বলে মনে হয় পুনরাবৃত্তি খুঁজে ডট টাইপ চ. কি! ছ সম্পর্কে? যে শুধু * -r বিড়াল grep. সুতরাং আপনি পুনরাবৃত্তি ব্যবহার করতে পারেন মুহূর্তেই একটি সম্প্রতি সম্পন্ন কমান্ড. আমি টাইপ করে তাই! GRE, এটি পুনরায় চালনা যাচ্ছে GRE সবচেয়ে দিয়ে শুরু যে কমান্ড সম্প্রতি. এবং আপনি এই সব দেখতে পারেন ইতিহাস কমান্ড. সুতরাং ইতিহাস. এগুলি হল সব কমান্ড আমি আজ রান করেছি. আর ভাল, এটা আক্ষরিক নয় আজ থেকে সীমিত, কিন্তু আমি শুধুমাত্র এই ব্যবহার করেছি আজকের হিসাবে প্রয়োগ. এটা আপনার সম্পূর্ণতা আছে আপনার ব্যাশ শেল ইতিহাস, এটা কিছু সময়ে মধ্যেও বন্ধ ছাড়া. শ্রোতা: যদি আপনি না কি হবে ইতিহাস [শ্রবণাতীত] কমান্ড ও একটি ত্রুটি ফলে এখনও the-- মুদ্রণ করা ছিনিয়ে বাউডেন: একটি আছে হাঁ, যদি এই commands-- একটিতে ত্রুটি তাই এর কথা বলা যাক, যে একটি হল ত্রুটি কমান্ড পাওয়া যায় না. এখনও ইতিহাসে হচ্ছে. ঠিক আছে. কিছু অন্যান্য প্রশ্ন? সুতরাং যে ঠুং এর. এখন, সত্যিই দরকারী কমান্ড, মানুষ. যে আপনি দেয় তাই একটি প্রদত্ত কমান্ড জন্য ম্যানুয়াল. তাই তাই, এর মানুষ ম বলা যাক এই আমাকে ম দেখানো হয়. এটা ডিরেক্টরির বিষয়বস্তু তালিকা. আমি দেখতে এবং এই হল যেখানে সেখানে যে অস্তিত্ব এইসব বিভিন্ন পতাকার হয়. সুতরাং আমরা যে -l বিদ্যমান LS দেখতে আমরা যদি যে পড়তে. ls -l আমার এই পুরো তালিকা দেয় ফাইলের মালিক সঙ্গে ডিরেক্টরি, ফাইলের আকার, পরিবর্তিত টাইমস্ট্যাম্প. সুতরাং ম -a অন্য এক যে আপনি প্রতাপ হল আসলে কিছুটা ঘন ঘন ব্যবহার. আমার সবচেয়ে সাধারণ পতাকা এই গত ম -al হয়. সুতরাং -a, অনেক আছে বিজ্ঞপ্তি শুধু ম বেশী ফাইল. -a ম. এই সব ফাইল সঙ্গে সাধারণ কি আছে? তারা একটি ডট দিয়ে শুরু. সুতরাং এই লিনাক্স একটি কনভেনশন হয় একটি ডট দিয়ে শুরু যে ফাইল লুকানো আছে. সুতরাং এটা ঠিক যে মানে যখন আমরা সরাসরি ম, বা আমরা ব্যবহার করে এই ডিরেক্টরির অনুসন্ধান করছেন আবিষ্কর্তা সমতুল্য, বা উইন্ডোজ এক্সপ্লোরার সমতুল্য, আমরা যে এইসব ডট ফাইল দেখতে চাই না. তারা শুধু জিনিস দেখুন দূষিত. সুতরাং তারা লুকিয়ে আছে আপনি যদি না বিশেষভাবে -a মত কিছু দিয়ে তাদের অনুরোধ. তাই আমি লোকাল মধ্যে সিডি পারেন, এবং আমি দেখতে যে নিজেই একটি ডিরেক্টরির সাথে রয়েছেন একটি ভাগ ডিরেক্টরি, এবং অ্যাপ্লিকেশন, এবং বাজে বাজে বাজে কথা. সুতরাং, তারা ঠিক করছি লুকানো ফাইল বিন্দু. , তাই অন্যান্য গুরুত্বপূর্ণ ওগুলো ঠিক আছে. আমি থামিয়া যাবে একটি দম্পতি আছে. সম্পর্কে এর ঠিক বাস্তব দ্রুত আলাপ করা যাক ফাইল ফেরৎ জিনিস. সুতরাং একটি সম্পূর্ণ জটিল সিরিজের আছে জিনিষ আপনি এই সঙ্গে করতে পারেন, কিন্তু শুধু তাদের দেখতে, প্রতিধ্বনি, এর কথা বলা যাক. আরেকটি কমান্ড. সত্যিই বোবা কমান্ড. এটা আছে সব আমি এটা বলতে কি প্রিন্ট হয়. সুতরাং হ্যালো প্রতিধ্বনি. এটা শুধু পর্দা হ্যালো প্রতিধ্বনিত. হ্যালো দুনিয়া. ইকোগুলি হ্যালো দুনিয়া. সুতরাং একটি কমান্ড বা এক ব্যাশ বুঝতে পারে যে প্রতীক প্রতীক তুলনায় এই অধিক হয়, এবং যে একটি ফাইল প্রতীক আউটপুট হয়. আমি আউটপুট এই করতে হলে তাই foo বিন্যাস, এখন একটি ফাইল আছে , foo বিন্যাস বলা ভেতরে যা হ্যালো দুনিয়া. তাই আমি echo যখন বিজ্ঞপ্তি হ্যালো foo বিন্যাস মধ্যে বিশ্বের পাইপ, এটা ওহে দুনিয়া echo করা হয়নি. এর পরিবর্তে এটি ফাইলে foo বিন্যাস পুরা ছিল. এবং আরেকটি কমান্ড ঠিক , আপনি এ বিড়াল এটি নিক্ষেপ করা. যে শুধু সম্পূর্ণরূপে একটি সহজ উপায় ফাইলের বিষয়বস্তু তালিকা আমি খুলতে হবে না, তাই একটি টেক্সট এডিটর এটা দেখার জন্য. সুতরাং বিষয়বস্তু foo বিন্যাস ফাইল হ্যালো দুনিয়া আছে. এবং আমি বিড়াল blah.c, পারা বিষয়বস্তু এই হয়. আবার, এই না যে কমান্ড আছে আপনি তাদের সব মুখস্ত আছে আশা. ধারণা আপনি তাদের দেখা করেছি হয়. হতে পারে আপনি কাজ করছি কিছু, এবং আপনি আছেন মত আমি এই ফাইলটি খোলার অসুস্থ. আমি শুধু মনে হত ইচ্ছুক বাস্তব দ্রুত বিষয়বস্তু এ. এর পরে, যে কাজ করতে পারে পিছনে তাকান এবং উহু আমি বলতে ভালো কিছু মনে যে বিদ্যমান, এবং এটা বিড়াল. সুতরাং যে একটি ফাইল যাচ্ছে. এখন সত্যিই কোন ভাল না হয় এখনো একটি ফাইল থেকে পড়া উদাহরণ. লাগে এমন কিছু কি আছে মান থেকে কিছু? কোন সহজ লিনাক্স কমান্ড? আমরা একটি দম্পতি মধ্যে, এটা পেতে হলে সপ্তাহ piece-- ভাল সব, এই সপ্তাহে আপনি এক টুকরা যেখানে আপনি আছে ব্যবহারকারী থেকে ইনপুট গ্রহণ শুরু. তাই সাধারণত আপনি টাইপ কীবোর্ড এ যে ইনপুট. পরিবর্তে যে টাইপ কীবোর্ড এ ইনপুট, একটি ফাইল থেকে আপনি পারেন পরিবর্তে পাইপ আপনি যখন যে মারিও, ./mario, তাই কোনো ফাইল থেকে এ পাইপ, এবং যে মারিও প্রোগ্রাম চালানো যাচ্ছে. এ ইনপুট আশা নেই কীবোর্ড, পরিবর্তে এটি শুধু পড়া যাচ্ছে foo বিন্যাস ফাইল থেকে লাইন. Foo বিন্যাস সেটিকে রাখে চেয়ে সুতরাং অধিক foo বিন্যাস ফাইল, এবং কম foo বিন্যাস foo বিন্যাস ফাইল থেকে কাপড় লাগে এবং যে ব্যবহার এই প্রোগ্রামের ইনপুট হিসেবে. এবং শুধু এটি দেখতে, আমরা echo পারে foo বিন্যাস বার Baz, এবং তারপর পরিবর্তে এক তার চেয়ে অনেক বেশী, এর foo বিন্যাস মধ্যে দুটি কাজ করতে দিন. যে কী কাজ করে? এটা শুধু ফাইল করতে appends. আমি মধ্যে বাজে প্রতিধ্বনি থাকলে সুতরাং পরিবর্তে বিজ্ঞপ্তি foo বিন্যাস এবং তারপর বিড়াল foo বিন্যাস, এটা শুধু বাজে না. একটি ফাইলে সুতরাং যখন আপনি আউটপুট, এটা সম্পূর্ণ যে ফাইল মুছে ফেলা হয়. আপনি শুধু লিখবেন করতে চান, [ডবল? grader. ?] এবং নল শেষ হয়. পাইপ আরো অনেক জটিল, যেখানে Gets এটি মাত্র একটি কমান্ড এর আউটপুট লাগে এবং পরবর্তী কমান্ড সেটিকে ফিড. তাই কিছু সাধারণ বিষয়, ইতিহাস. সুতরাং, বিতৃষ্ণা, আমি এই তাকান করতে চান না. আমাকে আমার ইতিহাসে সব কমান্ড দেখাও আমি grep-ইডি যেখানে কিছু. না, যে বিভ্রান্তিকর. আমার আমি খুঁজে যেখানে সমস্ত কমান্ড প্রদর্শন করা হবে. সমস্ত আমি কখনও দৌড়ে কমান্ড খুঁজে. সুতরাং ইতিহাস. যাও এখন ইতিহাস আউটপুট কমান্ড এই তালিকা পর্দা, কিন্তু আমি চাই না পর্দায় আউটপুট এটি. পরিবর্তে আমি grep মধ্যে নল তা করা যাচ্ছে না. সুতরাং আসুন খুঁজে সব স্থানেই জন্য grep যাক. তাই এখন পরিবর্তে grep গ্রহণ ইনপুট, পরিবর্তে র grep হিসাবে ইনপুট আমরা এসেছি সব ব্যবস্থা করতে সক্ষম হয় সামান্য ভিন্নভাবে এখানে grep ব্যবহার করে. সুতরাং পরিবর্তে এর তালিকা টাইপ জিনিস আমরা জন্য অনুসন্ধান করতে চেয়েছিলেন এবং grep ইনপুট হিসেবে গ্রহণ করছে. তাই আমি ঠিক grep, সেটা খুঁজে না যদি আমাকে কিছু টাইপ করার জন্য অপেক্ষা. সুতরাং বিড়াল হ্যালো খুঁজে. হ্যালো. বের করুন. আমি খুঁজে টাইপ প্রত্যেক সময় লক্ষ্য করুন এটা আমি খুঁজে টাইপ করা যে স্বীকৃতি দেয়. সুতরাং পরিবর্তে এই, হবে খুঁজে জন্য খোঁজো ফাইল. সুতরাং ইতিহাস এখন যাচ্ছে আউটপুট সব কমান্ডের তালিকা. আমরা যে আউটপুট নির্বাণ করছি, এবং আমরা, এটা grep করতে খাওয়ানোর করছি এবং তাই এটা খুঁজে spitting এর খুঁজে সব দৃষ্টান্ত. কারণ আমি এটা বিভ্রান্তিকর হতে চাই বলেন এটা এখনও বিভ্রান্তিকর তোমার যদি হয়. আমি grep জন্য grep যদি. এটা অনেক সময়ই প্রশংসনীয় লক্ষ্য করুন কমান্ড আমি দেশ শুধু যে কমান্ড কারণ দৌড়ে নিজেই এটি ভেতরে grep হয়েছে. ঠিক আছে, তাই কিছু উপর কোন প্রশ্ন? এবং আমি এই সময়ে এটা ধরে হস্তান্তর করব. আশা করছি এই একটি চমৎকার সমস্ত কমান্ড এর ওভারভিউ আপনার দরকার হবে না যে কণ্ঠস্থ, কিন্তু এই পর্যন্ত করা একটি কঠিন 95% কি আমি কমান্ড লাইনে কাজ. এছাড়াও মনে রাখতে যে কমান্ড লাইন নিজেই, ব্যাশ, একটি প্রোগ্রামিং ভাষা এবং যাতে আপনি যদি আপনি এটি ডাউন পেতে হলে সত্যিই জটিল কিছু করার চাইতে পারেন. এবং তাই ভালো জিনিস আছে loops, এবং IFS, এবং যারা সব আপনি ব্যবহার করতে যাচ্ছেন যে আপনার প্রোগ্রামিং ভাষার সাথে. কিন্তু তার পরেও যে যায় এই বিভাগে সুযোগ. ঠিক আছে, তাই কোন প্রশ্ন? মাফ: কেউ? গ্যাব্রিয়েল: আপনি চাচ্ছি যাচ্ছে মাফ: আমি এটা করতে পারেন খনি উপর আপনি চান. আমরা কি দেখতে পারেন. ছিনিয়ে বাউডেন: Allison করার অফ. মাফ: Woo. আপনি, রব অনুসরণ করার জন্য কঠিন কাজ করছি. আপনি আমাকে আপনার সাথে স্যুইচ করতে চান? অথবা আপনি কি ঠিক আছে, পেয়েছিলাম. আমি চেষ্টা এবং না করা যাচ্ছে না বেশ আছে হিসাবে লম্বা হতে. এর এই ইচ্ছা হলে দেখতে দিন আমি এটা করতে চান উপায় কাজ. হয়তো? হা হা! হ্যাঁ. তাই আমি শুধু খুব তাড়াতাড়ি যেতে চলেছি ভেরিয়েবল, loops, কন্ডিশন মাধ্যমে, এবং কম্পাইলার উপর অল্প. আপনি এ প্রশ্ন থাকে যে কোনো সময়, আমাকে থামাতে দয়া করে. এই ছেলেরা পুনরাবৃত্তি আমাকে স্মরণ করিয়ে দেবে আমি ভুলে ক্ষেত্রে আপনার প্রশ্নের, কিন্তু খুব খারাপ হবে না. ভেরিয়েবল সুতরাং, হাঁ. আমরা এর কোন এক আছে আপনার এখানে ভূত টুকরা. আমি যদি তোমাদের অধিকাংশই নিশ্চিত নই আপনি খেলা কিছু বাছাই ছিল আপনি ভূত দিয়ে তৈরি যে, আপনি ছিল স্কোর ভালো কিছু ট্র্যাক রাখা, বা সময়, অথবা যে ভালো কিছু. যারা উজ্জ্বল কমলা তাই আমরা সেখানে দেখতে যে টুকরা শুধু ভূত ফর্ম ভেরিয়েবল, এবং আপনি নিশ্চিতভাবে হবে ভেরিয়েবল ব্যবহার করা আপনার প্রোগ্রাম সারা. আপনি পারছেন না, সত্যিই আমি নই নিশ্চিত করুন যে আপনি কি করছেন. কিন্তু যাই হোক, বড় বিষয়, ভেরিয়েবল সংজ্ঞায়িত. সি সঙ্গে প্রত্যেক পরিবর্তনশীল হয়েছে একটি টাইপ ঘোষিত আছে, তাই আমি আপনাকে একটি খুব দিয়েছিলেন উপরের সাধারণ এক. সুতরাং আপনি পাবেন আপনার টাইপ করুন এবং তারপর যাই হোক না কেন আপনি আপনার পরিবর্তনশীল কল করার সিদ্ধান্ত নেন. এই ক্ষেত্রে, টাইপ তাই আপনার পরিবর্তনশীল তালিকায়. আমরা তিনটি উদাহরণ আছে. কিছু আবাদি চর, যা কি একটি A, এর আমি আপনি সব বিষয়ে নিশ্চিত নই এই ক্লাসে পেতে. আপনি একাধিক নির্ধারণ করতে পারবেন এক লাইনে ভেরিয়েবল যতদিন তারা সব একই টাইপ হিসাবে, সেখানে আমাদের দ্বিতীয় উদাহরণ যা হয় আপনি তিনটি আছে যেখানে ভেরিয়েবল, x, y, ও z. তারা সব floats করছি. এবং তারপর আপনি এই শেষ মধ্যে, এটিও করতে পারেন কোন int স্কোর এবং সংখ্যা দিয়ে উদাহরণ দল, আপনি যা করতে পারেন অধিকার আছে তাদের আরম্ভ. যেখানে মাঝখানে উদাহরণে আমরা শুধু, x, y, ও z এর ভাসা আছে যারা এখনো সক্রিয়া করা হয় না. তারা কোন মূল্য আছে. অথবা তারা আবর্জনা মান আছে. এবং আপনি চেষ্টা এবং তাদের ব্যবহার করে, কম্পাইলার আপনাকে চিত্কার করা. আপনি উভয় ডিক্লেয়ার করা আছে এবং আপনার ভেরিয়েবল আরম্ভ. এই গত এক সুতরাং, আমরা উভয় করছেন. আমরা ভেরিয়েবল ঘোষণা করা হয় এর স্কোর এবং দলের সংখ্যা, এবং আমরা তাদের আরম্ভের প্রদান করা হয় 7 এবং 4 এর তাদের তাদের প্রাথমিক মান যথাক্রমে. কুল. প্রত্যেকেরই ভাল? জট্টিল. ঠিক আছে, তাই কিছু নিয়মাবলী. আপনাকে বলছি পড়তে থাকেন শৈলী 50 মাধ্যমে, এই আমরা জন্য চাই যে শুধু জিনিস আপনি আপনার শৈলী মধ্যে বাস্তবায়ন. তাই অর্থপূর্ণ নাম. আপনি জিনিষ কলিং শুরু হলে শুধু x, y, ও z, বিশেষ করে আপনি lengthier ঢোকা হিসাবে প্রোগ্রাম, আপনি আছেন সম্ভবত যাচ্ছে নিজেকে গুলান ও হতে ভালো উল্লেখ এই পরিবর্তনশীল কি. আমি এই মানে কি কোন ধারণা আছে. ধরে রাখে সেসব যদি তাই একটি স্কোর, এটি স্কোর কল. এটা কিছু উত্তর রাখা সেসব যদি অথবা, ফলে এটা যে মত একটি নাম দিন. Loops জন্য, যা আমরা আছি পরবর্তী স্লাইডের মধ্যে পেতে, একক অক্ষর ভেরিয়েবল জরিমানা. Rob Bowden: আমি, ঞ, এবং ট করো loops জন্য জন্য শুধু নিয়মাবলী সবাই তাদের প্রত্যাশা করে যে ঞ, এবং ট, আমি বলা হবে. আপনি আমি সারি দেখতে them-- কল করতে পারেন কলাম বা সারির কল কখনও কখনও দুই নেস্টেড loops, এবং জন্য যে ধরনের মান এর. কিন্তু আমি এবং ঞ সম্পূর্ণভাবে বোঝা যায়. মাফ: হ্যাঁ, আমি ও ঞ আপনি সম্পূর্ণই সূক্ষ্ম. স্বচ্ছতার অনুরোধে মত জন্য আপনার পি সেট কিছু মধ্যে, এটি আরো আছে জানার জন্য হতে পারে সেখানে শুধু এ বর্ণনামূলক জিনিস এটা ট্র্যাক রাখতে. কিন্তু আমি আমি, ঞ, এবং আমি মনে করি k মনে আমাদের গরিষ্ঠাংশ সব ব্যবহার. ছিনিয়ে বাউডেন: এই সঙ্গে নিয়মাবলী, তাই শৈলী গুরুত্বপূর্ণ. এটা চার অক্ষ এক যার উপর আপনি graded করছি, এবং এটি শুধু পুনরালোচনা করা এত সহজ আপনার পি শেষে সেট এবং নিশ্চিত করুন রচনাশৈলীসংক্রান্ত ভুল নেই যে. সুতরাং আপনি সঠিকভাবে tabbing করছেন কি না. আপনার ভেরিয়েবল নামকরণ করা হয় তা নিশ্চিত করুন. কিছু মন্তব্য করুন. এটা তাদের পয়েন্ট পেতে খুবই সহজ. আপনি সম্পর্কে চিন্তা করতে হবে না যাতে কিছু তাদের পয়েন্ট পেতে. আপনি কিছু চিন্তা করতে হবে না. এটা ঠিক এটা চমত্কার চেহারা তৈরীর. মাফ: আসলে, আমরা , শৈলী 50 আছে যা আপনি তালগোল পাকানো করছি যেখানে আপনাকে জানানো হবে আপনি শৈলী আপ তালগোল পাকানো করছি আপ এবং আপনাকে বলতে হবে ঠিক কি আপনি ঠিক করা প্রয়োজন এবং কিভাবে আপনি এটি ঠিক করা প্রয়োজন. এটা উল্লেখ এছাড়াও শুধু ভাল যে এটি অবশ্যই নীতি আপনি অফিসে হন তাহলে যে ঘন্টা এবং আপনার কোড একটি জগাখিচুড়ি, আমরা সাহায্য করতে অস্বীকার করতে পারেন আপনি এটা nicer দেখায় পর্যন্ত. সুতরাং ডান আউট শুরু, সামঞ্জস্যপূর্ণ শৈলী রাখা, আপনি কি শুধু করতে যাচ্ছেন যখন আপনার জীবনে একটি সম্পূর্ণ অনেক সহজ আপনি ডিবাগ মধ্য দিয়ে যেতে চেষ্টা করছি. আপনি চিন্তা করার চেষ্টা করছেন আপনি একটি কোঁকড়া বক্রবন্ধনী অনুপস্থিত থাকেন যেখানে এবং তারা আপনাকে করছি, সব জায়গা রয়েছে শুধু কঠিন আপনার নিজের জীবন উপার্জন. সুতরাং শৈলী সঙ্গে সামঞ্জস্যপূর্ণ হবে. আমি এটা আপনার জীবন সহজ করতে করব প্রতিজ্ঞা. এটা আমাদের জীবন সহজতর করে তুলতে করব. প্রত্যেকেরই অনেক সুখী হবে. এবং যে আপনি চান. গ্যাব্রিয়েল: তোমার গ্রেড উচ্চতর হবে. মাফ: হ্যাঁ, এবং আপনার গ্রেড. আপনার TF আপনার মত যদি, অনুকুল হতে থাকে. ঠিক আছে, এবং তারপর মাত্র এখানে দ্বিতীয় দফা. সঙ্গতিপূর্ণভাবে initializations. আমরা দেখেছি সুতরাং, আপনি ডিক্লেয়ার করতে পারেন এবং জিনিষ আরম্ভ. একই লাইনে একাধিক ভেরিয়েবল. আমরা আপনি না চান তবে একটি বিষয় কি কিছু ভেরিয়েবল ডিক্লেয়ার করতে হয় এবং একই তাদের আরম্ভ না আপনি অন্যদের আরম্ভ করা হয় যে লাইন. সুতরাং ক্ষেত্রে যে কোন অনুভূতি, আমরা এখানে উদাহরণ আছে যেখানে আমরা ints ঘোষণা করছি ত্রৈমাসিক ভেরিয়েবল মধ্যে dimes এবং পেনিসমূহ, কিন্তু আবাস এবং পেনিসমূহ কোন প্রারম্ভিক মান আছে. আমরা তাদের সক্রিয়া করা হয়নি, কিন্তু সেখানে মাঝখানে ডান আমরা ইতিমধ্যে dimes 0 সক্রিয়া. সুতরাং হয় ত্রৈমাসিক, dimes, পেনিসমূহ না. অথবা আবাস 0 সমান না. Dimes 0 সমান. পেনিসমূহ 0 সমান, বা যাই হোক না কেন যারা প্রাথমিক মান. শৈলী সঙ্গে বড় বিষয়, সামঞ্জস্যপূর্ণ হবে. কোন সন্দেহ থাকলে, সামঞ্জস্যপূর্ণ হবে. কিন্তু খুব আমাদের শৈলী গাইড অনুসরণ. কুল. প্রত্যেকেরই আছে ভাল? শ্রোতা: শৈলী গাইড কোথায়? মাফ: শৈলী গাইড ওয়েবসাইট কি on-- হয়? গ্যাব্রিয়েল: আমি এটা manual.cs50.net/-- মনে করি মাফ: স্টাইল? গ্যাব্রিয়েল: স্টাইল. হাঁ. মাফ: হ্যাঁ. শৈলী 50 যেখানে সুতরাং, প্রশ্ন. manual.cs50.net/style. হ্যাঁ? শ্রোতা: আমরা সংজ্ঞায়িত করছি ভেরিয়েবল, এটা ঠিক আছে আমরা [শ্রবণাতীত] ভালো করা যদি মত কোন int স্কোর এবং তারপর int- এ লক্ষ্য. তাই আপনি এখন আমরা করেছি যে বলতে হবে একসঙ্গে তাদের সংজ্ঞায়িত করা পেয়েছিলাম? মাফ: তাই উচিত, প্রশ্ন আপনি অপ্রয়োজনীয় কোড আছে যখন আপনি নির্ধারণ করছে যেমন কোন int স্কোর হিসাবে ভেরিয়েবল এবং পরের লাইনে কোন int খেলার উপর? ছিনিয়ে বাউডেন: স্পষ্টভাবে আছে অপ্রয়োজনীয় কোড খারাপ হয় যেসব ক্ষেত্রে. আমি বিবেচনা না করে যে অপ্রয়োজনীয় কোড. আমি প্রায় একাধিক ডিক্লেয়ার না কখনও একই লাইনে ভেরিয়েবল. যদি কিছু, এটা কারণ এর সাধারণত আমি মন্তব্য নেই কিছু বাছাই ছেড়ে পরিবর্তনশীল জন্য কি ব্যাখ্যা. তাই আমি int স্কোর স্ল্যাশ বলবো. যাই হোক না কেন ট্র্যাক রাখে. মোট স্ল্যাশ ইন. সুতরাং এটা যে পথে অনেক পুরুষ এর একই লাইনে তাদের সব করা. আমি শুধু একই লাইনে তাদের করা না. মাফ: আমি মনে এটা পছন্দ এই সময়ে ব্যক্তিগত অভিরুচি. শ্রোতা: যে জন্য যান না খুব loops এবং কাপড় জন্য? ছিনিয়ে বাউডেন: ভিতরে লেগেছে? কোন int মত আমি 0 কমা সমান দৈর্ঘ্য কিছু সমান? আপনি একটা চয়েস থাকে না যে. Loops জন্য আরম্ভের সঙ্গে part-- যাতে আপনি শুধুমাত্র দেখা হতে পারে কোন int আমি কম 0 সেমিকোলন সমান যাই হোক না কেন সেমিকোলন আমি প্লাস প্লাস তুলনায়. যে int তোমার, 0 এর সমান টেকনিক্যালি আপনি এটিও করতে পারেন আমরা আগে দেখেছি কি না কমা সিনট্যাক্স সঙ্গে. int তোমার 0 কমা ঞ সমান 3 কমা ট 5 সমান সমান. আপনি বিভক্ত করতে বেছে নেবার নেই একাধিক ভাগে ভাগ যে আপ, এবং যে মান আছে. এটা দেখতে দেখতে জরিমানা আছে. মাফ: জট্টিল. ওয়েল, loops মধ্যে সুবিধাজনক segue. তাই হ্যাঁ, আমরা এখানে কিছু উদাহরণ আছে আপনাকে বলছি ভূত দেখেছি যে loops. এবং অবশ্যই এই সব শুধু সি recreated করা যাবে তারা মূলত আপনাকে অনুমতি কোড কিছু অধ্যায় পুনরাবৃত্তি একটি নির্দিষ্ট শর্ত পর্যন্ত যা আমরা করব, পূরণ হয় কথা পরে ডান ঢোকা সম্পর্কে কন্ডিশন সঙ্গে loops. সুতরাং আমরা তিন প্রধান ধরনের আছে. যখন, এবং কি যখন, জন্য, যা আমরা সব অধিকার এখন মধ্য দিয়ে যেতে হবে. সুতরাং প্রথম এক loops জন্য হয়. কিছু অবস্থার জন্য সুতরাং, এই কোড ব্লক এক্সিকিউট. আমরা এই শীতল সামান্য আছে নীচে এখানে চিত্রটি. কিন্তু মূলত আপনি মধ্যে আছে আপনার জন্য, প্রথম লাইন যে, আপনি যাচ্ছেন আপনার ভেরিয়েবল আরম্ভ. আমরা স্বপ্ন সুতরাং হিসাবে, আমি হয় 0 বা আমি সমান 10 সমান. আপনি যে প্রয়োজন যাই হোক পরিবর্তনশীল এটা হতে সেখানে সক্রিয়া করা যাচ্ছে, ঘোষণা ও কিছু মান সক্রিয়া. তখন আমরা কিছু আছে যে অবস্থায় যাচ্ছে পরীক্ষণ হতে আমাদের কিছু বিরুদ্ধে পরিবর্তনশীল. টিপিক্যাল কেস যেখানে ক্ষেত্রে তাই হয়তো আপনি কোড এই অ w শটি চান পাঁচবার চালানো. সুতরাং আমরা তোমার 0 সমান int- এ আছে, এবং আমরা চাই আমি 5 কম হয় যখন এটা হতে চান. সুতরাং যে অবস্থা ঠিক হয় প্রত্যেক সময় যে পরীক্ষা করা যাচ্ছে. যে অবস্থায় যদি সত্য মূল্যায়ণ, এটা ঠিক যা কোড, চালানো যাচ্ছে এই সামান্য চিত্রটি কি দেখানো হয়. এবং তাই এটি executes. এটি একটি পরিবর্তনশীল আপডেট, আমরা দেখতে যা কি আমাদের জন্য শেষ অংশে সেখানে লুপ আরম্ভের. তাই এটা শুধু এই কাজ করে যাব যে শর্ত পূরণ না হয়, যতক্ষণ না এবং তারপর এটি থেকে প্রস্থান করা হবে লুপ এবং অবিরত আপনার প্রোগ্রাম বাকি সঙ্গে চলন্ত উপর. প্রত্যেকেরই আছে ভাল? কুল. তাই এখানে, অনুরূপ একটি উদাহরণ কিছু করার আমি শুধু সম্পর্কে বললাম. তাই আমরা ঠিক প্রিন্ট করতে চান এই 10 বার CS50. তাই আপনি যদি আমরা আছে এখানে দেখতে আমাদের জন্য, এবং তারপর আমরা পরিবর্তনশীল আরম্ভ তোমার 0 সমান হতে. আমাদের অবস্থা চেক করা হয় এটা 10 কম যে. যখন আমরা প্রথম তাই সত্য যাও নির্ণয় শুরু, এবং তারপর আমাদের পরিবর্তনশীল আপডেট এটা আসলে executes যে প্রতিটি সময় এবং এই আউট প্রিন্ট CS50. আর 10 বার পরে বিনষ্ট হবে. কুল. Loops পরবর্তী আপ হয় যখন তাই. এখানে আপনি দেখতে এবং হিসাবে, আমরা শুধু আছে এই অবস্থায় প্রশ্ন করার সময়? শ্রোতা: আমি কিভাবে তিড়িং লাফ পারেন আসলে ঠিক না এক নম্বর, কিন্তু দুই নম্বর [শ্রবণাতীত] আমি প্লাস প্লাস প্লাস? মাফ: তাই প্রশ্ন আপনি কিভাবে পারেন ছিল একাধিক দ্বারা আপনার পরিবর্তনশীল আপডেট একটি সময়ে. তাই আমি প্লাস প্লাস হবে এক প্রতিটি সময় দ্বারা আপডেট. আপনার দ্বারা এটি আপডেট চেয়েছিলেন দুই, আপনি আমি প্লাস 2 সমান যেত না. ছিনিয়ে বাউডেন: আপনি দেখা হয়েছে প্লাস এখনো বক্তৃতায় সমান? শ্রোতা: [শ্রবণাতীত]. মাফ: এটা কার্যকরভাবে এর একই জিনিস আমি প্লাস 2 সমান হিসাবে. সুতরাং এটা নিতে যাচ্ছে এবং দুই প্রতিটি সময় দ্বারা এটি আপডেট. প্লাস শুধু কিছু বিষয় সমান আমরা অন্বিত চিনি কল. ছিনিয়ে বাউডেন: হ্যাঁ, তাদের জন্য অস্তিত্ব প্রায় কাছাকাছি সব গাণিতিক অপারেটর. সমান করতে তাই আমি বার সংখ্যা দ্বিগুণ হবে. ঞ ডিভাইড 3 একই সমান ঞ হিসাবে 3 দ্বারা বিভক্ত ঞ সমান. মাফ: অথবা বিয়োগ 2 would সমান দুই প্রতিটি সময় দ্বারা আমি হ্রাস. ছিনিয়ে বাউডেন: এমনকি গেলিক ভাষার সমান. আপনি bitwise অপারেটরদের দেখা যায় না, কিন্তু, ক্যারেট সমান এবং ampersand সমান ঐ সব বিদ্যমান. মাফ: বার তাই অনেক, বিশেষ করে পি সেট আপনার প্রথম কয়েক সঙ্গে, আপনি সম্ভবত দ্বারা বৃদ্ধিশীল হবে এক, তাই আমি প্লাস প্লাস, ঞ প্লাস প্লাস আপনি যাচ্ছেন সবকিছুর করো সাধারণত ব্যবহার করা. কিন্তু যে হালনাগাদ অবস্থা সম্পূর্ণরূপে আপনার নিয়ন্ত্রণ মধ্যে. আপনি যাই হোক না কেন বাড়তি দ্বারা আপডেট করতে পারেন বা যাই হোক না কেন ভাবে আপনি ঠিক. হতে পারে আপনি এমনকি এটা হতে চান কখনও কখনও একটি র্যান্ডম সংখ্যা. তবে হ্যাঁ, প্রচুর আছে জিনিষ আপনি যে সঙ্গে কাজ করতে পারেন. আপনি আমি প্লাস প্লাস সীমাবদ্ধ করছি না. ছিনিয়ে বাউডেন: শুধু আপনি তাই এটি, এটি বিদ্যমান জানি অন্য আকারে বিদ্যমান, প্লাস প্লাস আমি. আপনি কি কখনও অনলাইন অনুসন্ধান করছেন যদি তাই এবং দেখতে ঘটতে প্লাস প্লাস আমি, প্রায় কাছাকাছি একই জিনিস মানে. মাফ: কুল. গুড? জট্টিল. যখন loops তাই. অত্যন্ত অনুরূপ. আপনি কিছু শর্ত আছে. মূল বিষয় লক্ষ্য করা এখানে পরিবর্তে থাকার হয় তিনটি ভিন্ন যন্ত্রাংশ সেট আপ করতে, আমরা এক আছে. আমরা শুধু কিছু শর্ত আছে যে চেক করা হচ্ছে. এবং একই ভাবে, যতদিন এই শর্তে যে, সত্য মূল্যায়ণ আপনার কোড রান করতে যাচ্ছে. আর যদি এটা মিথ্যা, তা , সরানো বিনষ্ট হবে আপনার প্রোগ্রাম পরবর্তী অংশ সম্মুখের. তাই এই ধরনের কি ভালো হয় চেক একটি ভাল উদাহরণ কিছু স্বাভাবিক অবস্থার জন্য? গ্যাব্রিয়েল: সত্য যদিও. মাফ: আপনি সত্য যখন যেত না. ওয়েল, 1 1 সমান. ছিনিয়ে বাউডেন: আপনি while-- করতে পারেন শুধু পরিবর্তে লুপ জন্য একটি ব্যবহার করে, আপনি সবসময় একটি কোড যাবে যখন একটি লুপ লুপ জন্য, তাই আমি তার চেয়ে অনেক বেশী 0 বা আমি কম 10 যখন. মাফ: জট্টিল. এবং তারপর আমরা কি আছে loops, যা সময় ব্যবহারকারী বৈধতা, যেখানে জন্য মহান আপনার কাছ থেকে কিছু পেতে চাই এটা বৈধ যদি আপনার ব্যবহারকারী, দেখতে এবং তারপর সেখান থেকে অবিরত. সুতরাং জানা জিনিস এক একটি দিয়ে হয় এটি চালানো যাচ্ছে যে, যখন কাজ, এবং তারপর এটি পুনরায় চালানো হবে এই শর্ত পূরণ হলে. তাই সম্ভবত সেরা উপায় এই না শুধু এখানে একটি উদাহরণ দেখতে হয়. আমি শুধু হিসাবে উল্লেখ করেছে, ব্যবহারকারীর তাই বৈধতা সত্যিই দরকারী হয় বা করতে Whiles সত্যিই হয় ব্যবহারকারী ভ্যালিডেশন দরকারী. তাই এই শুধু যাচ্ছে কিছু ব্যবহারকারী পুনরায় অনুরোধকারী তারা একটি ধনাত্মক সংখ্যা লিখুন পর্যন্ত, আপনার পি সেট জন্য উপযোগী হতে পারে যা এই সপ্তাহে. তাই এই ক্ষেত্রে, যখন আমরা প্রাথমিকভাবে এই প্রোগ্রাম চালানো, এটা মুদ্রণ যাচ্ছে একটি ধনাত্মক সংখ্যা লিখুন. এটা কিছু পেতে যাচ্ছে ব্যবহারকারী থেকে ইনপুট, এবং তারপর এটি পরীক্ষা করে যাচ্ছে অবস্থার বিরুদ্ধে যে ইনপুট যে আপনি তার জন্য সেট করেছি. তাই এই ক্ষেত্রে এটি পরীক্ষা করে যাচ্ছে. এটা ঠিক আছে, বলে যাচ্ছে আমাদের ইনপুট নেতিবাচক হয়, অথবা এটা 0 বা নেতিবাচক, হয় যা অবৈধ হবে. আমি তখন এটি পুনরায় প্রম্পট হবে. প্রশ্ন? শ্রোতা: একটি হিসাবে তারপর এই একই লুপ যখন আপনি শুধু যে কোড কপি করে থাকেন এবং এটি [শ্রবণাতীত] যখন লুপ করা? মাফ: would প্রশ্ন ছিল তাই এই মাত্র কিছুদিনের হিসাবে একই হতে লুপ আমরা করতে হলে শুধু উপরে যখন লুপ কপি. তাই এই ক্ষেত্রে, আপনার সময় লুপ হয় প্রথম শর্ত পরীক্ষা যাচ্ছে. আমরা চেষ্টা এই ক্ষেত্রে, যদি তাই শুধু যখন একটি লুপ হিসাবে লিখতে, এটা যখন বলতে হবে ইনপুট কম এক হয়. কিন্তু আমরা তার জন্য একটি ইনপুট হবে না. শ্রোতা: আপনি যদি [শ্রবণাতীত] লুপ এই কোড সহ যখন, কিন্তু তারপর আপনি কোড সামলাচ্ছেন এছাড়াও, যখন লুপ উপরে. আপনি শুধু এই কোড ছিল [শ্রবণাতীত] যখন লুপ. মাফ: এটা হতে হবে একই জিনিস, হ্যাঁ. তাই আপনি শুধু লিখতে পারে পরিবর্তে একটি do-- হ্যাঁ থাকার. গ্যাব্রিয়েল: কিন্তু যে আরো মার্জিত. মাফ: হাঁ, যে আরো মার্জিত. আপনি, নকশা এবং যে কোন বস্তু মধ্যে পেতে পারেন কিন্তু হ্যাঁ, আপনি সম্পূর্ণই তা করতে পারে. অন্য কোন প্রশ্ন? শান্ত, ঠিক আছে. সুতরাং আমরা শর্ত সম্পর্কে অনেক কথা বলত করেছি আমরা আছে যে এই সব loops সঙ্গে, তাই আমরা আসলে মধ্যে পেয়ে থাকেন বুলিয়ান এক্সপ্রেশন মধ্যে শর্ত. আবার, আপনি সি এইসব ব্যবহার, তাই শুধু ধরনের রূপান্তরের আরো গ্রাফিক ইন্টারফেস থেকে আসলে কোডিং করতে. কুল, তাই বড় এক, যদি. মূলত শুধু পরিচয় করিয়ে দিতে আমাদের পারবেন আমাদের প্রোগ্রাম এবং চেক মধ্যে কিছু যুক্তি sys শর্ত. এই ক্ষেত্রে তাই, ঠিক আছে, 0 তুলনায় এন বেশী? আপনি এই নির্বাহ করতে পারেন তাই হ্যাঁ এটা, হয়. এটা শুধু কিছু পরীক্ষা আছে আপনি করেছি যে শর্ত আমি মনে করি আমরা সব আছেন মনে যা, সেট শর্ত চেক করতে স্বাচ্ছন্দ্য. কুল. তাই আপনার অন্য এক অন্যথায় যদি, এই সত্য যদি আপনি,, ঠিক আছে বলতে পারেন এই প্রথম জিনিস করে. অন্যথা আমি আপনাকে চাই ডিফল্ট এবং অন্য কিছু না. এই ক্ষেত্রে ভালো লেগেছে, আপনি হয় একটি বাছাই ধনাত্মক সংখ্যা বা একটি ঋণাত্মক সংখ্যা. আপনি মাত্র দুটি অপশন আছে. আপনি এটা নির্বিশেষে চালানো প্রয়োজন কি আপনার ব্যবহারকারী ইনপুট. তাই আপনি ভাল বলতে পারেন এটা হয় 0 থেকে? কুল. একটি ধনাত্মক সংখ্যা প্রিন্ট করা হবে. এটা না হলে, একটি নেতিবাচক প্রিন্ট করা হবে. প্রত্যেকেরই ভাল? এবং তারপর চিনতে এক জিনিস যদি শর্ত পূরণ হলে যে, অন্য এছাড়াও চালানো হবে না. শুধু এই এক করবে না একটি সময়ে চালানো. সুতরাং এটি একটি ট্রেড বন্ধ আছে. আপনি উভয় আছে পাবেন না. হয় আপনি প্রথম শর্ত আছে. হয় আপনি যদি আছে অথবা অন্য, না উভয়. তারপর কিছু করতে পারেন যা এমনকি আরো জটিল, , আপনি যদি করতে পারেন, কারণ এটা অন্য, এবং তারপর অন্য. তাই এই ক্ষেত্রে, আমরা তিনটি শর্ত আছে. এবং আবার, এই মাত্র এক শেষ পর্যন্ত যাচ্ছে মৃত্যুদন্ড কার্যকর করা হচ্ছে. সুতরাং আপনি হতাশ হতে পারে ভাল, কি আপনি যদি কিছু আছে এই দুটি মেটাতে পারে. হতে পারে আপনি inputting করছি যাই হোক না কেন শর্ত উভয় পূরণ জন্য যদি এবং অন্যথায় যদি. চালানো যাচ্ছে যে শুধু জিনিস মাফ: যত তাড়াতাড়ি এটা কিছু খুঁজে পায় হিসাবে এটা যে জন্য শর্ত পূরণ করে সত্য মূল্যায়ণ, যে কি এটি চালানোর এবং অন্য কিছুই করে যাচ্ছে. আপনি ছিল যদি তাই এই সংখ্যা হল আপনার প্রথম এক মার্কিন 0 এবং 5, বা 3 মধ্যে এই সংখ্যা হল এবং অন্যথায় যদি অংশ জন্য 5, এবং আপনি ইনপুট সংখ্যা আমি 0 এবং 5 and-- 4 বলেন. এটা প্রথম এক আঘাত করে যাচ্ছে. এটি ঠিক আছে, এই বলে যাচ্ছে সংখ্যা 0 এবং 5 এর মধ্যে হয়. সম্পাদন এবং ছেড়ে. এটা যে দ্বিতীয় অপশনটি আঘাত করবে না. কুল? জট্টিল. ওকে আমরা সুইচ বিবৃতি যদি আছে আপনি, এমনকি more-- বা খিত পেতে চান সুইচ পরবর্তী. আমি এখানে এগিয়ে নিজেকে পেয়ে করছি. আবার, একাধিক ব্লক হলে যেখানে আমি শুধু বলেছি যত তাড়াতাড়ি আপনি একটি শর্ত খুঁজে হিসাবে হয় যে পূরণ এবং অন্য একটি যদি অন্য কিছু যদি, এটি ছেড়ে. আপনি পরীক্ষা করার প্রয়োজন হলে একাধিক জিনিষ, আপনি আছেন এই কারণে ব্যবহার করতে চান করতে যাচ্ছে এটা এখানে প্রত্যেক সময় পরীক্ষা হবে. তাই এই মাধ্যমে এবং যদি চালানো হবে এটা, 90 এর চেয়ে বড় বা সমান এটা যে মুদ্রণ যাচ্ছে. এবং এটা মাধ্যমে চালানো হবে এবং এইসব এর প্রতি একক এক পরীক্ষা. শ্রোতা: সুতরাং এই হবে [শ্রবণাতীত] বেশী বগী. এই [শ্রবণাতীত] মত হবে? মাফ: প্রশ্ন এই হবে হয় বগী বা এই আপনি চান কি না. এটা সত্যিই কি উপর নির্ভর করে আপনি আপনার প্রোগ্রাম থেকে চান. শ্রোতা: আমি আপনাকে 90 করা হলে মত মানে. মাফ: আপনাকে করা হলে 90-- শ্রোতা: [শ্রবণাতীত]. গ্যাব্রিয়েল: আপনি দুটি জিনিস পেতে যাচ্ছেন. মাফ: আপনি দুটি জিনিস পেতে যাচ্ছেন. হ্যাঁ, দুই. ছিনিয়ে বাউডেন: দুই? মাফ: নং ছিনিয়ে বাউডেন: চার. আপনি 90 করা হলে, আপনার বলে যাচ্ছে , আপনি একটি সি পেয়েছিলাম, আপনি একটি বি পেয়েছিলাম, একটি একটি পেয়েছিলাম আপনি একটি ডি পেয়েছে শ্রোতা: [শ্রবণাতীত]. মাফ: রাইট. তাই আমি আপনি কি উপর নির্ভর করে আপনি প্রোগ্রাম থেকে চান. কখনও কখনও আপনি প্রয়োজন একাধিক জিনিষ পরীক্ষা. আপনি মধ্যে অনেক গভীর পাবেন কি আপনি এগিয়ে যান হিসাবে ভাল নকশা. গুরুত্বপূর্ণ জিনিস বুঝতে পারছি এই যে এখানে চারটি শর্ত পরীক্ষা করবে. যেহেতু এই একটি যদি অন্য অন্যথায় যদি হলে অন্যথায় যদি, এটা যে প্রথম ক্ষেত্রে আঘাত করবে এটি আপনি একটি একটি পেয়েছেন এবং এটি করা প্রিন্ট হবে. ছিনিয়ে বাউডেন: এমনকি আমরা যদি যদি এই পরিবর্তন করার সিদ্ধান্ত নিয়েছে এবং 90 থেকে বড় অথবা সমান, , যদি এবং 80 থেকে বড় অথবা সমান এবং কম বা 89 সমান, যদি এন 70 থেকে বড় অথবা সমান, এবং এন কম বা সমান 79, তাই যে সঠিক হতে হবে. যে আমরা কি চাই না, কিন্তু হবে এটি এখনও এটি প্রতি একক পরীক্ষা করা হবে. প্রথম দৃশ্যকল্প মধ্যে যেহেতু, তাই আপনি যদি আমরা শুধু অন্যথায় যদি অন্যথায় যদি যদি সঙ্গে 90 লিখুন, এবং আমরা তারপর, 90 লিখুন এটা সংশোধন করে যাচ্ছে. এটা প্রথম পরীক্ষা হবে এক, মুদ্রণ আপনি, একটি একটি পেয়েছিলাম , সবকিছু লাফালাফি এটা কারণ ইতিমধ্যে যে কাজ এক পাওয়া. সকল ক্ষেত্রে পারস্পরিক একচেটিয়া যদি অন্যথায় যদি অন্যথায় যদি উপর ভিত্তি করে. সুতরাং এটি চালানো করব প্রথম, তারপর এটি করা হচ্ছে. এটা শেষ করতে যাবেন. আমরা পরিবর্তন হলে যেহেতু এই আমি কি ছিল করা 89 কম বা সমান সঙ্গে বলছে. এটা প্রথম এক পরীক্ষা করে যাচ্ছে. এটা প্রিন্ট করব. এটা দ্বিতীয় এক পরীক্ষা করব. এটা মুদ্রণ যাচ্ছে না. তৃতীয় এক চেক করুন. মুদ্রণ যাচ্ছে না. চতুর্থ এক চেক করুন. এখন প্রিন্ট করতে যাচ্ছে. , অন্যথায় যদি যে ক্ষেত্রে তাই সংস্করণ, যেহেতু এই ক্ষেত্রে পারস্পরিক একচেটিয়া, এটা হয় যদি অন্যথায় যদি যদি অন্য ভাল ব্যবহার, যে কারণ আছে যাচ্ছে অবস্থার চেয়ে কম চেকের এই সংস্করণের তুলনায়. মাফ: জট্টিল. তাই অন্য জিনিস আমরা করতে পারেন কি সুইচ বিবৃতি হল. মূলত একটি সুইচ বিবৃতি কিছু পরিবর্তনশীল লাগে, এই ক্ষেত্রে এটি এন, এবং চালানো যে ক্ষেত্রে নির্ণয়. তাই এই এক যেখানে আপনার ক্ষেত্রে কি হয় ধরনের পারস্পরিক একচেটিয়া হতে হবে. এই ক্ষেত্রে, যদি তাই আমরা একটি এক, এটা শুরু যাই হোক না কেন যে মেলে যাচ্ছে এন এর ভেরিয়েবল যাহা মান এইসব ক্ষেত্রে এক, তাই 1, 2, বা হয় 3, এবং সংশ্লিষ্ট লাইন প্রিন্ট আউট. এবং তারপর আপনি এখানে লক্ষ্য করা হলে, আমরা একটি ডিফল্ট আছে, যা আপনি আপনার অন্য হিসাবে মনে করতে পারেন. আপনার যদি অন্য কোন নম্বর বাছাই যদি তাই এই ক্ষেত্রে 1, 2, এবং 3 এর পাশাপাশি এটা শুধু অবৈধ মুদ্রণ যাচ্ছে. বনাম Ifs ব্যবহার যখন মীমাংসাকারী সুইচ বনাম elses যদি যাচ্ছে কিছু হতে যে আপনাকে বলছি করবে আপনি লেখা শুরু হিসেবে বিজ্ঞ নকশা দেখতে আরো জটিল প্রোগ্রাম, এবং কোন ধরাবাঁধা নিয়ম আছে এর যখন তাদের ব্যবহার. এটা সত্যিই আপনার কনটেক্সট উপর নির্ভর করে. ছিনিয়ে বাউডেন: আর মাত্র সেখানে এটি নিক্ষেপ করা এটি আরো আরামদায়ক অধ্যায় যেহেতু. সুইচ, তারা ঝোঁক be-- তাই আপনি সীমাবদ্ধ করছি উপায় সংখ্যা আপনি তাদের ব্যবহার করতে পারেন, IFS কারণ, শর্ত সুন্দর হতে পারে আপনি চান অনেক কিছু. সঙ্গে ক্ষেত্রেই পরিবর্তন সংখ্যা হতে হবে, বা টেকনিক্যালি তারা চিহ্ন হতে পারে, কিন্তু করতে পারেন হিসাবে আমরা দেখতে পাবেন চিহ্ন, শুধু নম্বর আছে. সুতরাং তারা সংখ্যা, কিন্তু সুইচ করা আবশ্যক আছে যদি সত্যিই আরো বেশী দক্ষ হয় অন্য অন্যথায় যদি, যদি এমনকি কারণ আগে ভাল উদাহরণ গ্রহণ, গ্রেড উদাহরণস্বরূপ ভালো বলে মনে হয়. আচ্ছা আমরা পরিবর্তে কি, আমি কি এখানে বলা যাক এই একটি যদি অন্য হিসাবে দৃশ্যকল্প যদি অন্যথায় যদি. , এন সমান হলে 1 সমান তাই আপনি একটি কম নম্বর বাছাই প্রিন্ট করা হবে. , এন 2 সমান সমান হলে অন্য তাহলে আপনি একটি মাঝারি নম্বর বাছাই. সমান 3 সমান অন্যথায় যদি, উচ্চ. অন্যথায় অবৈধ. সুতরাং আসুন যে আমাদের দৃশ্যকল্প ছিল বলা যাক. সুতরাং আসুন আমরা লিখতে বলা যাক 4, তাই আমরা অবৈধ আশা. উপায় অন্যথায় যদি যদি অন্য যে পদ্ধতির কাজ করে যাচ্ছে যদি হয় প্রথম শর্ত পরীক্ষা করা হবে. এটা সন্তুষ্ট না. তাই আমরা দ্বিতীয় শর্ত চেক. এটা সন্তুষ্ট না. তৃতীয় শর্ত চেক করুন. সন্তুষ্ট নয়. তাই আমরা অন্য যান এবং অবৈধ প্রিন্ট করা হবে. উপায় সুইচ কাজ এটি নিচে প্রনয়ন হয় আমরা চলুন কি করে একটি লাফ টেবিল কল. মূল ধারণা হচ্ছে আপনি 4 লিখতে হলে যে, তা অবিলম্বে ডিফল্ট যেতে পারেন. এটা টা আমি ক্ষেত্রে 1 বার দরকার হয় না? নাঃ যে এটা না. কেস 2? নাঃ. কেস 3? নাঃ. ডিফল্ট. ঠিক আছে, এই আমি কোথায় হতে হবে চান, এবং তারপর যে চালানো. না, এটা অবিলম্বে ডিফল্ট সরাসরি চলে যায়. অথবা আমি 2 লিখুন এটা, এটা অবিলম্বে 2 যেতে যাচ্ছে কেস 1 মধ্য দিয়ে যেতে প্রয়োজন ছাড়া. যে ভাবে সুতরাং, বাস্তবধর্মী আজকাল যে একটি দক্ষতা লাভ যে অনেক না. সাধারণত কম্পিউটারের বেশ হয় দ্রুত, এবং যে যে মহান না. কিন্তু এটা ক্ষেত্রে যে সুইচ দ্রুত হয়. আপনি কি সত্যিই চেষ্টা করছি নিখুত, একটি সুইচ ব্যবহার. মাফ: কুল. এবং তারপর আমরা তিন অপারেটর আছে. তাই আমি আগে উল্লেখ জানি শব্দ অন্বিত চিনি. তাই এটি যে শুধু জিনিস আরো অনেক সংক্ষিপ্ত আপনার কোড. তাই এই যাদের ক্ষেত্রে এক. তাই তিন অপারেটর প্রশ্ন চিহ্ন হল কোলন আমরা লাইন স্ট্রিং দেখতে হিসাবে এর 100 তুলনায় এন বৃহত্তর সমান প্রশ্ন চিহ্ন উচ্চ কোলন কম. তাই মূলত এই কাজ কিভাবে এটি হল 100 থেকে বড় এন একটি শর্ত. তাই আমি এটা বোধ করতে পারেন মনে হয়. এটা একটি প্রশ্ন জিজ্ঞাসা মত. এটা উহু, এন 100 তার চেয়ে অনেক বেশী বলছে. কে জানে? এবং এটা করতে মূল্যায়ণ যদি সত্য, আপনার দিতে যাচ্ছে যে প্রথম জিনিস উচ্চ, যা আছে তালিকাভুক্ত. অন্যথা এটি আপনি কম দিতে যাচ্ছে. সুতরাং শুধু এই একটি সত্যিই সহজ এবং কার্যকর উপায় একটি যদি অন্য মত কাজ করতে. যে সব এই হল এর. এবং আমরা এই লিখতে হলে , শর্তাধীন অন্যথায় যদি একটি হিসাবে এন বৃহত্তর যদি এটা হবে 100 তুলনায়, উচ্চ ফিরে. অন্যথায়, কম ফিরে. এই মাত্র একটি আরো অনেক কিছু হয় এটা লেখার সংক্ষিপ্ত ভাবে. Rob Bowden: সুতরাং এই বিশেষ উদাহরণ যখনই আপনি কিছু কাজ করছি হয় ভালো, এই প্যাটার্ন যেখানে আমি খুব ঘন ঘন তিন ব্যবহার. সুতরাং আমরা, এখনো সুযোগ সম্পর্কে কথা বলত না কিন্তু আমি স্ট্রিং গুলি সেমিকোলন এইজন্য ঘৃণা. এন বৃহত্তর 100, তাহলে এর উচ্চ সমান. অন্যথায়, এর কম সমান. যে প্যাটার্ন সুতরাং, যারা পাঁচটি লাইন সময় কোড অফ আক্ষরিক 100% কি মধ্যে স্থানান্তরিত করা যেতে পারে আপ সেখানে একটি তিন সাথে ছিল. তাই তিন, কোড একটি লাইন. পাঁচ, অন্যথায় যদি. যে আমি নির্দেশ একটি উদাহরণ প্রতি একক সময় আউট. এই would দারুন জায়গা একটি তিন অপারেটর জন্য. এটা তাই পরিষ্কার. কিন্তু মানুষ এটা ব্যবহার না দেয়. মাফ: গেব এটা দূরে নিন. গ্যাব্রিয়েল: তাই এখন আপনাকে বলছি সব বক্তৃতা এই সপ্তাহে শিখেছি একটি মধ্যে যে সবকিছু কম্পিউটার অধিকার, বাইনারি হয়? শুধু এখানে আলো ভালো. আপনি হতে পারেন এবং বন্ধ পরিণত করা যাবে. আর সবকিছু করে, আমি বলতে চাচ্ছি আক্ষরিক সবকিছু. কিছু নম্বর, এবং চিহ্ন, এবং স্ট্রিং, এবং এমনকি কোড আপনি যখন লিখতে যে এটি মেশিনে কম্পাইল পরার যে ভালো কোড এবং কাপড়, তাই এটি সব 0 এবং 1 'boils নিচে. এবং তাই আমরা লেনদেন করছেন ইন্টিজার, সাথে যা টেকনিক্যালি খুব কিছু যে হয় সহজ, আমরা স্টাফ করতে সক্ষম হওয়া উচিত যা তাদের যুক্ত করার মত সহজ জিনিস সম্ভবত এক আপনি সঠিক, দুটি পূর্ণসংখ্যার করতে পারি? সুতরাং উপরন্তু এবং বিয়োগ ঠিকঠাক কাজ এটি দশমিক স্বরলিপি কাজ ভালো, এখানে ছাড়া এটা ঠিক, বাইনারি এর? সুতরাং এটা বেস দুই আছে. সুতরাং 1 প্লাস 1 যোগ করুন. যে 0 দেয়, এবং 1 ওভার বহন করে. এবং শুধু তাই এখন, যে করছেন রাখা আরো আকর্ষণীয় প্রশ্ন আসে. আমরা সব প্রতিনিধিত্বকারী কিভাবে জানেন কম্পিউটার মধ্যে ধনাত্মক পূর্ণসংখ্যা, কিন্তু এর এই একটি ব্যায়াম করা যাক. আপনাকে বলছি 1960 বা এ সব হয় সাজা কিছু, একটি কম্পিউটার তৈরি করার চেষ্টা এবং আপনাকে চিন্তা করা আছে 1 বিয়োগ জমা করার একটি উপায়, উদাহরণস্বরূপ, বা কোনো বিয়োগ যে বিষয়টি জন্য পূর্ণসংখ্যা. কিভাবে যে কি হবে? কোন ধারনা? শুধু আমার দিকে কিছু নিক্ষেপ করা. হ্যাঁ? শ্রোতা: [শ্রবণাতীত] নামকরণ আপনার [শ্রবণাতীত] যদি একটি বিশেষ. গ্যাব্রিয়েল: আপনি একটি মনোনীত করতে পারেন 0 বা 1 হতে হবে, যা বিশেষ বিট,. এটি ইতিবাচক যদি এর এক বলা যাক এবং 0 এটা নেতিবাচক যদি. বিট এর এবং তারপর বিশ্রাম শুধু নম্বর সংরক্ষণ করতে হয়. কুল. সুতরাং যে একটি খুব ভাল ধারণা. আমরা, আমি জানি না, 200 আছে. এবং প্রথম বিট হলে চালু, তাহলে এটা প্লাস 200. এটি বন্ধ পরিণত হচ্ছে, তাহলে এটি 200 বিয়োগ হয়. কুল. শুধুমাত্র ছোট এক নেই এই সঙ্গে সমস্যা, যা আমরা কিছু যোগ করার চেষ্টা করে যদি হয়. তাই আমরা এখানে 11111 আছে কল্পনা, এবং আমরা 00100 যাহা সাথে এই summing করছি. ঐ দুটি ইতিবাচক হন, যে সূক্ষ্ম. কিন্তু তারপর যদি এক তাদের মত, নেতিবাচক হয় এর কথা বলা যাক এই বিট এখানে যে দায়ী যে এক for-- আমি একটি separate-- করতে যাচ্ছি তাই এই এক যে এই সংখ্যা এখানে মানে ইতিবাচক হয়. এই এক এই যে মানে এখানে সংখ্যা সঠিক, নেতিবাচক হয়? কিন্তু তারপর আপনি যখন তাদের যোগফল যাচ্ছে, আপনি যদি একটি বিবৃতি প্রয়োজন , এই 0 যদি উহু বলছে তারপর আমার সমষ্টি হতে হবে ভিন্ন কিছু, ডান? সুতরাং একটি সামান্য আছে যা করতে পথ আরো চালাক দুই এর সম্পূরক যা বলা হয়, যে. তাই মূলত কি আমরা কি আমরা সংজ্ঞায়িত হয় মাইনাস 1 জিনিস হতে হলে যে 1 আমাদের 0 দেয় আমরা আপ যোগ করুন. আমার যে পুনরাবৃত্তি যাক. সুতরাং আসুন এখানে এই 1 যে বলা যাক. জিনিস কি যে স্বাভাবিকভাবেই ধনাত্মক পূর্ণসংখ্যা মধ্যে যে যোগ আমাদেরকে 0 দেয়? আমরা এই সংখ্যা থেকে এটি যোগ করতে কি চেষ্টা করে? আমরা ওকে থাকতে, যাতে এর যোগ যাক চলুন. আমরা 1 যোগ 1 আছে চলুন 0 হয়, এবং তারপর এটি উপর বহন করে. এবং তারপর আমরা আবার 0 পেতে যাচ্ছেন. আমি বিভ্রান্ত পেয়ে করছি. এবং যদি আপনি 0 পেতে যাচ্ছেন এবং 0 এবং 0 ও 0 এবং 0 ও 0. 0 এর প্রচুর. শেষ এক সময়ে, আমরা পারব না এটি উপর বহন করতে সক্ষম হতে যাচ্ছে, যাক, কারণ এর আমরা শুধুমাত্র লেনদেন করছেন বলে এক বাইট, তাই মাত্র 8 বিটের সাথে. সুতরাং কম্পিউটার ডিফল্ট অবস্থায় আছে কি , শুধু যে [শ্রবণাতীত] সম্পর্কে forgets ঠিক আছে? তাই এই কি বলা হয় দুই এর সম্পূরক. হতে আমরা কেবল 1 বিয়োগ নির্ধারণ জিনিস এখানে আপনি 1 থেকে যে যোগ করে যে আপনি 0 দিতে হবে. এবং যে বেশ শান্ত আমরা সত্যিই না, কারণ বাস্তবায়ন দেরী প্রয়োজন সমষ্টি একটি ভিন্ন ধরনের যে কিনা তার উপর নির্ভর করে নেতিবাচক বা ধনাত্মক সংখ্যা. যে জানার জন্য? আমরা কি যে তাই এক জিনিস এখানে রূপান্তর করার জন্য একটি ইতিবাচক ও নেতিবাচক মধ্যে পূর্ণসংখ্যা তারপর আমরা সবকিছু টুসকি হয় এবং তারপর আমরা যে নম্বরে 1 যোগ করুন. আপনি এটি নিজের চেষ্টা করবেন, কাগজ এক টুকরা উপর, আপনি যে অর্থে তোলে দেখতে যাচ্ছেন. কিন্তু আমি এই সংখ্যার নিতে হলে এখানে, এই পাঁচটি হয়. আমি সবকিছু টুসকি যদি তাই এখানে, তাই 1, 1, 1, 1, 1. , উল্টানো, উল্টানো পাল্টান. এবং তারপর আমি এটা করতে 1 যোগ করুন. আমি ঠিক বিয়োগ 5 আছে যাচ্ছি. ঠিক আছে? এই ধরনের ইন্দ্রিয় তোলে যদি কারণ আপনি নম্বর দিয়ে এই যোগফল চেষ্টা আমরা, আগে ছিল যে যা এর আবার এই টুসকি যাক was--. এটা 0 এর মধ্যে 101 এবং প্রচুর ছিল. আপনি এইসব যোগ করার চেষ্টা হলে একসঙ্গে দুই নম্বর, আপনি ঠিক 0 আছে চলুন. ঠিক আছে. কোন প্রশ্ন? শ্রোতা: [শ্রবণাতীত] গ্যাব্রিয়েল: আপনি কি বোঝাতে চেয়েছেন? শ্রোতা: যাও নেতিবাচক ইতিবাচক [শ্রবণাতীত]. গ্যাব্রিয়েল: না, আপনি টুসকি এবং আপনি সবসময় 1 যোগ করুন. হাঁ. ঠিক আছে, তাই অক্ষর এছাড়াও বাইনারি এনকোড. আমরা আপনাকে হিসাবে, ASCII টেবিল আছে এছাড়াও, ডান বক্তৃতায় দেখেছি? সুতরাং এটি মূলত একটি জিনিষ ম্যাপিং এর. এবং এখানে আমি যথেষ্ট গুরুত্ব আরোপ করতে পারে না একটি কম্পিউটার, একটি মার্কিন এবং 65 আক্ষরিক একই জিনিস. আমি গৃহস্থালি গ ভালো কিছু লিখতে হলে তাই একটি, আমি একই সময়ে পারে সমান শুধু এখানে 65 লিখুন, এবং এটা ঠিক আছে, ঠিক একই হবে? সবটা কোন পার্থক্য নেই. আমরা সাধারণত করা ঝোঁক টাইপ ভেরিয়েবলের মধ্যে অক্ষর. চর, না তারা মূলত করছি কারণ যে জন্য তৈরি, কিন্তু কারণ মানুষের রীতিনীতি নিয়ে. কিন্তু আপনি শুধু পূর্ণসংখ্যার মোকাবেলা করতে পারেন পরিবর্তে টাইপ গৃহস্থালির কাজ ভেরিয়েবল, এবং আপনাকে জরিমানা করা হবে. শুধুমাত্র প্রকৃত পার্থক্য একটি গৃহস্থালি গ এবং একটি int তোমার মধ্যে কোন int সবচেয়ে চার বাইট আছে সিস্টেম, একটি গৃহস্থালি এক বাইট আছে যখন. তারা মূলত আছেন তথ্য পরিপ্রেক্ষিতে একই জিনিস. তাই কি এখানে প্রিন্ট হবে? এখানে আমরা printf ব্যবহার করে একটি অঙ্ক মুদ্রণ করছি একটি প্লাস 1 সঙ্গে, এবং মাত্র পূর্ণসংখ্যার মত, টুকিটাকি তাই, সংকলিত করা যেতে পারে অক্ষর এছাড়াও সংকলিত করা যেতে পারে. তাই এই ঠিক 65 হয়. তাই বলে সেখানে যাচ্ছে 66, এবং এখানে আমরা আছে 65 প্লাস সামান্য একটি বিয়োগ বড় এ, হতে হবে যা, আমি সত্যিই জানি না. কিন্তু এটা ঠিক ফাঁক হতে হবে বড় হাতের অক্ষরে মধ্যে এবং এবং ছোট অক্ষর, তাই আমরা ডান, ছোট একটি পেতে যাচ্ছেন? হাঁ. সুতরাং এই একটি মুদ্রণ যাচ্ছে ঠিক এই এক যা চরিত্র. গুড? কোন প্রশ্ন? এখানে আমরা বিভিন্ন একটি গুচ্ছ আছে সংখ্যাসূচক ভেরিয়েবল জন্য ধরনের. আমরা ইতিমধ্যে int- এ বিষয়ে কথা বলতে. এই সত্যিই হয় চাচ্ছি ভাসা শুধু একটি উপায় মজার, আমি প্রথম শিখেছি যখন কারণ দিনের সাথে ফিরে প্রোগ্রাম পাইথন, প্রথম প্রোগ্রাম কখনও আমি লিখতে চেষ্টা করেছি, আমি একটি ছিল যে দেখেছি টাইপ এ বলা এবং একটি টাইপ ভাসা বলা. আর ভাসা সব বাস্তব সংখ্যার জন্য ছিল. আমি তখন আমি কেন উচিত জিজ্ঞাসা আমি কখনো তারপর কোন int ব্যবহার? আমি সব ব্যবহার করতে পারেন যদি কারণ একটি float সঙ্গে বাস্তব সংখ্যা, আমি শুধু অধিকার, ints ব্যবহার বন্ধ করবে? বাস্তব সংখ্যার কারণ আরো অনেক কিছু জেনেরিক মত. এটা এই যে দেখা যাচ্ছে কম্পিউটার মধ্যে না কেস তারা মূলত করছি কারণ ভিন্ন জিনিস. ইন্টিজার এবং floats সুতরাং, অপারেশন আপনি তাদের যে কি কারণ মূলত ভিন্ন তারা সংরক্ষণ করা হয় যে উপায়, ঠিক আছে? আমরা একটু কথা বলতে যাচ্ছেন একটি দ্বিতীয় যে সম্পর্কে আরো বিট. তাই ডবল শুধু একটি বড় ভাসা হয়. সাধারণত অধিকাংশ সিস্টেম, একটি float শুধু কোন int মত, চার বাইট. এবং একটি ডবল আট বাইট. একটি দীর্ঘ দীর্ঘ আসলে শুধু একটি প্রতীক আপনি কোন int মত একটি টাইপ করতে লিখবেন যে. আপনি দীর্ঘ এই মত int দীর্ঘ বলে. লং দীর্ঘ int x দীর্ঘতর এটি করতে. তাই অধিকাংশ সিস্টেমের মধ্যে, যে দিতে হবে পরিবর্তে চলিত চার আট বাইট. এবং আপনি আসলে ড্রপ করতে পারেন , এটি শুধু দীর্ঘ দীর্ঘ বলতে পারেন তাই, এবং যে ঠিক আছে, খুব কাজ করে? এছাড়াও মত অন্যান্য জিনিষ করতে পারেন স্বাক্ষরবিহীন int, বা আবার শুধু স্বাক্ষরবিহীন এছাড়াও কাজ করবে. এবং যে এক্স একটি পরিবর্তনশীল হতে করতে হবে সবকিছু ইতিবাচক হয় ভালো, তাই আপনি সত্যিই নেতিবাচক থাকতে পারে না আমরা এখানে আপ দেখেছি যে ভাবে সংখ্যার. সুতরাং বিস্ময়কর নিম্নলিখিত পয়েন্ট এবং স্পষ্টতা ভাসমান. যে কারণে এক কেন আপনি পরিবর্তে floats এর ints ব্যবহার করতে চান, ints 100% নির্ভুল, সঠিক কারণ? এটা ঠিক যে সংখ্যা আছে. ভাসমান পয়েন্ট জন্য, আপনি যদি উত্তর 1 10-- উপর সমান বলে আমি সঠিক এই আছে এরকম এখানে প্রোগ্রাম, float.c. যে 20 দশমিক স্থান ছাপে. 1 10 দ্বারা বিভক্ত, এবং যে সাধারণত ডান, 0.1 হয়? কিন্তু এখানে আমরা করতে হলে ভাসা এবং তারপর আমরা এটি চালানোর জন্য, আমরা এটা ঠিক 0.1 না দেখতে. এটা 0,149 কিছু. এবং কেন যে হয়? আপনি সত্যিই প্রতি প্রতিনিধিত্ব করতে পারবেন না কারণ মেমরি একক সম্ভব বাস্তব সংখ্যা আছে, কারণ তাদের uncountably অনেক. সুতরাং আমরা টেকনিক্যালি শুধুমাত্র সক্ষম হন তাদের একটি সসীম পরিমাণ প্রতিনিধিত্ব তথ্য একটি সসীম পরিমাণ. কিন্তু এটা সত্যিই আকর্ষণীয়. এখন এই begs প্রশ্ন কিভাবে আপনি would প্রতিনিধিত্বমূলক সম্পর্কে যান বিট সঙ্গে এই, ডান? সুতরাং কিভাবে floats সংরক্ষণ করা হয়? পূর্ণসংখ্যার সঙ্গে এটা সহজ ছিল. কিন্তু floats সঙ্গে আপনি চান পরিসীমা পূর্ণবিস্তার, এবং আপনি প্রতিনিধিত্ব করতে সক্ষম হতে চান বিশাল সংখ্যা এবং মত খুব ক্ষুদ্র সংখ্যা একই সময়ে 0.000001. তাই আবার, একই খেলা. কিভাবে আমরা পারা কারো কাছে কি কোন ধারণা আছে মেমরি ভাসা প্রতিনিধিত্বমূলক সম্পর্কে যান? শুধু কিছু নিক্ষেপ করা. হ্যাঁ, দয়া করে. শ্রোতা: [শ্রবণাতীত] হিসাবে এটা দুই ints এবং এক ছিল যদি হচ্ছে [শ্রবণাতীত] এবং এক হচ্ছে দশমিক বিন্দু পরে সবকিছু. গ্যাব্রিয়েল: ঠিক আছে, শান্ত. তাই দুটি ভিন্ন ইন্টিজার. আপনি 12.45 থাকতে পারে, তাই যে 12 এবং 45 এর. হলাম. কি আপনি বলতে যাচ্ছি পূর্বে? একই জিনিস? হাঁ? শ্রোতা: [শ্রবণাতীত] স্বরলিপি যেখানে আপনি বেস আলাদা. গ্যাব্রিয়েল: বৈজ্ঞানিক স্বরলিপি, হাঁ যে কি সাধারণতঃ এর. তাই এই অংশক বলা হয়. এটা আসলে হয় কি সংখ্যা, এবং তারপর সূচক ডান, কমা ঠিক কোথায়? তাই এই কিছু হতে যাচ্ছে ফর্ম 1, 2, 3, 4, 5 বার 10 মাইনাস 4. আমি ঠিক ঠিক, হাঁ যে সব বুঝতে পেরেছি. এবং তারপর বিয়োগ 4 এই 10 হয় কমা যেখানে ঠিক আছে, সংজ্ঞায়িত করতে যাচ্ছে? ব্রাজিল আমরা কমা ব্যবহার. এখানে আপনাকে বলছি একটি ডট ব্যবহার. সুতরাং একটি বিন্দু. এবং এই কারণ তারপর আপনি করতে পারেন, শান্ত এই লোক আপনার বিট প্রচুর ফোকাস এখানে, অংশক উপর, এবং তারপর যে আপনার প্রকৃত স্পষ্টতা হতে যাচ্ছে. এবং যদি আপনি দশমিক হয় এটা করতে পারেন বা বাইনারি ভিত্তিক সিস্টেমে. বিভিন্ন আছে উপায় এই বাস্তবায়ন. প্রশ্ন? হ্যাঁ? শ্রোতা: কিভাবে অনেক জায়গায় দশমিক [শ্রবণাতীত] পরে? গ্যাব্রিয়েল: এটা একটা জটিল প্রশ্ন, এটা সত্যিই 100% সুনির্দিষ্ট কারণ, আপনি এখানে, জন্য দেখুন হিসাবে কারণ কিছু সংখ্যা এটি 100% সুনির্দিষ্ট. আমরা এখানে 0.5 করা হলে আমি বিশ্বাস করি, এটা 100% সঠিক হতে যাচ্ছে. এটা 0.500000 হতে যাচ্ছে. সুতরাং যে ক্ষেত্রে, এটা একেবারে ঠিক আছে. কিন্তু অন্যান্য ক্ষেত্রে, এটা অনেক কম একেবারে ঠিক আছে. আমার অভিজ্ঞতা আছে, চার আপ মত, পাঁচটি দশমিক স্থান প্রশংসনীয় সুনির্দিষ্ট. আপনি একটি ডবল ব্যবহার করেন, তা যাচ্ছে ঠিক আছে, যে পথ চেয়ে আরো ভালো হবে? Rob Bowden: সুতরাং শুধু নিক্ষেপ floats এ আরো কিছু প্রসঙ্গ, আমি 100% মনে রাখবেন কিভাবে কখনও floats এর বৈশিষ্ট আসলে, কাজ করে কিন্তু আমি আপনাকে সবসময় মনে রাখতে না যে floats নোংরা পেতে শুরু. সুতরাং ধারণা, আপনি সত্যিই পেতে হলে যে হয় সত্যিই বড় সংখ্যা বা সত্যিই, সত্যিই ছোট সংখ্যা, আমরা শুরু খারাপ ও ভয়াবহ হচ্ছে পার্থক্যকারী এ দুই ঘনিষ্ঠ floats মধ্যে. তাই আমি হয় সম্পর্কে ভাবতে চাই কিভাবে ফ্লোটিং পয়েন্ট অনির্দিষ্টতা সঙ্গে, দুই floats আছে আমি তাদের উল্লেখ করার চেষ্টা করে সি, আসলে যে সত্ত্বেও তারা বিভিন্ন সংখ্যার করছি, তারা হতে যাচ্ছেন একই নম্বর হিসাবে ব্যাখ্যা, আমরা ভিন্নভাবে তাদের সঞ্চয় করতে পারেন না, কারণ. আমরা একই বিট ব্যবহার করতে হবে. এবং তাই আমরা পেতে হলে সত্যিই, সত্যিই বড় সংখ্যা, 300 বা 10 এর মত কথা বলা কিছু, এটা যে সময়ে এর যে 10 থেকে 300 বা 300 থেকে 5 বার 10 পৃথকীকৃত করা যাবে না 300 7 বার 10 থেকে. সুতরাং যে খুবই বড় পার্থক্য দুটি সংখ্যার মধ্যে. কিন্তু তারপর আপনি নিচে পেতে হলে স্বাভাবিক পরিসীমা জিনিষ, আপনি সুন্দর হতে থাকে পার্থক্যকারী এ ভাল. এবং তারপর আপনি, সত্যিই ছোট নিচে পেতে হলে আপনার যদি আবার বেশ খারাপ পেয়ে থাকেন. আভা মত তাই 0.0000, এটি বেশ খারাপ পায়. গ্যাব্রিয়েল: হ্যাঁ, তাই একটি দ্রুত নোট. এই কাজ কখনও. কখনও তুলনা করার চেষ্টা সমান সমান ব্যবহার floats, তারা প্রায় হন, এমনকি যদি কারণ একই, প্রায় একই একই নয়. তাই কি আপনি সাধারণত কি বিয়োগ হয় তাদের, যে এর পরম মান নিতে, যে চেয়ে ছোট এবং যদি দেখতে যে ভালো 0.0001 বা কিছু, ঠিক আছে? আর শীতল. আমি মানুষের অনেক আছে জানি জাভা কিছু ব্যাকগ্রাউন্ড, যারা বিশেষ করে বেশী পি কম্পিউটার বিজ্ঞান, ডান? আর জাভা একটি ভাষা হল যে বেশিরভাগ সি উপর ভিত্তি করে, এটি একটি দম্পতি খুব বড় পার্থক্য আছে. কিন্তু ভালো loops, এবং IFS, এবং কাপড় জন্য যে, তারা সব একই বাক্য গঠন করছি. আমি এই প্রদর্শন করার জন্য এখানে কয়েকটি প্রোগ্রাম আছে. সুতরাং উদাহরণস্বরূপ, একটি সহজ হ্যালো দুনিয়া. এই সি, হ্যালো দুনিয়া যা আপনি বলছি, সাথে স্পষ্টভাবে পরিচিত এবং এই এবং এই এক জাভার হয়. জাভা আমরা এই আছে তাই পাবলিক বর্গ, ওহে দুনিয়া, এবং স্ট্যাটিক অকার্যকর প্রধান, এবং স্ট্রিং args. স্ট্রিং args যাচ্ছি খুব শীঘ্রই সি প্রদর্শিত করতে. কিন্তু এর এখনো সেখানে যেতে না দেওয়া. রাইট এখন আমরা যার মানে, এখানে অকার্যকর আছে যে প্রধান কোনো আর্গুমেন্ট গ্রহণ করা হয় না. এবং তারপর আমরা আছে System.out.println, এবং যে এর printf জন্য সমতুল্য ধরনের. এখানে আমরা সত্যিই ব্যাকস্ল্যাশ প্রয়োজন নেই এন মুদ্রণ ln আপনার জন্য যে আছে, কারণ. এটা ব্যাকস্ল্যাশ appends লাইন শেষে এন. কিন্তু আপনি ঢোকা একটি জন্য ভালো কিছু, আপনি তারা দেখতে পারেন প্রায় কাছাকাছি একই জিনিস. সুতরাং আরম্ভের, এবং শর্ত, এবং আপডেট হচ্ছে ÑÑ আমি তারা করছি এখানে একটি স্থান মিস জাভা ব্যতীত প্রায় কাছাকাছি একই জিনিস, আরো কয়েকটি উচ্চ পর্যায়ের স্টাফ হিসেবে রয়েছে. এখানে আমরা কিছু করতে পারি প্লাস আমি ও জাভা স্বয়ংক্রিয়ভাবে হবে যা, আমি এখানে এই না একটি পূর্ণসংখ্যা, একটি স্ট্রিং মধ্যে, এবং তারপর লিখবেন একসঙ্গে দুটি পংক্তি. এখানে সি আমরা &% ঘ করতে হবে. এখানে লাইন, মার্কিন ঠিক একই দেখায়. এবং আমরা তাকান IFS, যদি এছাড়াও অধিকার, ঠিক একই রকম? সুতরাং বাস্তব বড় পার্থক্য আছে আপনি এখানে দেখতে যে সেগুলো সালে. পাবলিক স্ট্যাটিক, অকার্যকর, এবং তারপর পাবলিক বর্গ যদি. তাই জাভা কি আছে একটি ভার্চুয়াল মেশিন বলা. এবং এটা খুব প্রচন্ডভাবে কি উপর ভিত্তি করে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং বলা হয়, খুব, খুবই সাধারণ যা আজকাল প্রোগ্রামিং জন্য দৃষ্টান্ত. আর এই ক্লাসে জিনিস, আপনি দেখতে কি বস্তুর স্থিতিবিন্যাস থেকে কিছু, আপনি তারপর একটি শ্রেণী তৈরি ও হয় যে বর্গ থেকে বস্তু আহরণ করা যাবে. আমরা খুব কথা বলতে যাচ্ছেন না CS50 মধ্যে যে সম্পর্কে অনেক কিছু, কিন্তু যে স্পষ্টভাবে এর সত্যিই শীতল কিছু, আপনি মধ্যে যেতে চান, বিশেষ করে যদি আরো অত্যাধুনিক ওয়েব ডেভেলপমেন্ট অবশ্যই শেষে, মত আপনার চূড়ান্ত প্রকল্প জমা এবং কিছু চমৎকার অবকাঠামো ও স্টাফ. তাই মূলত ধারণা আপনি যে হয় কিছু পুনরায় বাস্তবায়ন করতে না চান, তাই আপনি কিছু যে নির্মাণ খুব জেনেরিক, আকৃতি মত, এবং তারপর আপনি তৈরি এটা থেকে বিভিন্ন আকার, এবং তারপর প্রতিটি থেকে এইসব আকার, আপনি নির্মাণ তিন মধ্যে আরো কিছু নির্দিষ্ট আকার মাত্রা বা যে মত কিছু. এবং তারা এই অনুক্রমের তারা আছে তাই, অন্যান্য ওগুলো থেকে উত্তরাধিকারী সব ফাংশন এবং সব ভেরিয়েবল যে বড় আকৃতির এখানে, এই সব আছে আছে যাচ্ছে, এবং এই সব হয় , এবং তাই এবং তাই ঘোষণা আছে যাচ্ছে. সুতরাং যে মৌলিক ধারণা. সি যে আছে, কিন্তু সি না ++ বৈশিষ্ট্য যে ধরনের আছে. আর জাভা প্রচন্ডভাবে প্রভাবিত হয় বস্তুর অভিযোজন দ্বারা, আপনি দেখতে যাতে কেন এখানে বর্গ সব সময়. এবং অন্যান্য জিনিস এই জাভা ভার্চুয়াল মেশিন. তাই এই, আমি মনে করি, একটি খুব স্মার্ট ধারণা. তাই কি ভাবেন যারা উদ্ভাবিত জাভা হয় নি তারা চায় নি দুইবার তাদের কোড কম্পাইল তারা একটি উইন্ডোজ সালে এটি চালানোর জন্য ছিল, অথবা একটি ম্যাক, লিনাক্স বা, তাই তারা যা তারা আক্ষরিক চালানো হয় প্রয়োগ মত কিছু, কিন্তু আপনি সত্যিই এটা ঘটছে দেখতে না. তাই তারা একটি ভার্চুয়াল মেশিন রান আপনার কম্পিউটার, ভেতরে যা একটি ভালো মূলত মিনি অপারেটিং সিস্টেম. এবং যে অপারেটিং জীবনে সিস্টেম এর উদ্দেশ্য শুধু বাইট কোড বলা হয় চালানো হয়. সুতরাং পরিবর্তে সি, উপায় আমরা এই যদি না হয় কম্পাইল, এবং তারপর রান ./if. আমি এ ব্যাকস্ল্যাশ ভুলে গেছি. জাভা, আপনি প্রথম কাজ হবে সি জাভা এটা কম্পাইল করার, if.c. এটা সি এটা এর ডট জাভা না. এবং তারপর আপনি ./ না চালানোর আছে. আপনি এই নতুন ফাইল পেতে if.class, কিন্তু আপনি করতে পারেন না সত্যিই শুধু এখন if.class চালানো ভালো আমরা আগে কি. এই একটি এক্সিকিউটেবল নয়. আপনি চালানোর আছে. আপনি সেটিকে ভোজন আছে জাভা নামক একটি প্রোগ্রাম, এবং যে প্রোগ্রাম ভার্চুয়াল মেশিন, এবং তারপর আপনি if.class, অথবা যদি করতে. হ্যাঁ. এবং তারপর এটি কাজ করে. ঠিক আছে, তাই এই ধরনের ভার্চুয়াল মেশিন ঘটছে. আমি হলে তাই সি, যে নেই একটি উইন্ডোজ মেশিনের মধ্যে এই প্রোগ্রাম করা, এটা এটি কী জাভা ইন সি কাজ করবে. প্রশ্ন? কুল. যে আজকের জন্য সুপার বিভাগের জন্য যদি এর.