>> [সঙ্গীত বাজাচ্ছি]
>> | DAN AMRMENDARIZ: সবাই, এবং CS50 সেমিনার স্বাগত জানাই,
বেগবান সঙ্গে সামঞ্জস্যপূর্ণ iOS অ্যাপ্লিকেশন ডেভেলপমেন্ট.
আমি ড্যান Armendariz, এবং আমি একটি গোস্বামী আছি এখানে হার্ভার্ড এ কম্পিউটার বিজ্ঞান নিয়ে.
>> এবং পরবর্তী ঘন্টা হতে যাচ্ছে যতটা স্টাফ একটি ঘূর্ণিবায়ু সফর
এই বিষয় সম্পর্কে আমরা ফিট করতে পারে হিসাবে.
আমি সোর্স কোড সব পোস্ট করতে হবে আপনি অনলাইন আজ দেখতে হবে.
আমরা করতে সক্ষম নাও হতে পারে আসলে সবকিছু পুনরালোচনা
আমি আছি যে নই যে এই ঘন্টার মধ্যে আপনি দেখাচ্ছে.
কিন্তু অন্তত আশা মাধ্যমে সোর্স কোড মন্তব্য,
আপনি চিন্তা করার চেষ্টা করতে সক্ষম হবেন কি ঠিক সেগুলো জন্য ঘটছে
আমরা বেশ পাবেন না যে.
>> সামগ্রিক, কাঠামো নিম্নরূপ আজকের টক হতে হবে.
আমরা কিছু মৌলিক করছেন শুরু করব বেগবান ভাষা সঙ্গে সিনট্যাক্স,
আরো উন্নত কিছু মধ্যে যাওয়া বেগবান ভাষার সিনট্যাক্স.
ভাষা কারণ সত্যিই আধুনিক এবং এটা
উচ্চ পর্যায়ের অনেক আছে বৈশিষ্ট্য, আমরা না আছে কিছু
CS50, সারা সি দেখা বা এমনকি কিছু অন্যান্য ভাষায়
আমরা শুরু করেছি যে ভালো পিএইচপি CS50 মধ্যে ব্যবহার,
তাই আমি চেষ্টা আছে যাচ্ছি কিছু বিষয় প্রবর্তন যে
উচ্চ স্তরের প্রত্যেক এর সাথে সম্পর্কিত করা হয় আপনি CS50 মধ্যে গভীরতার মধ্যে দেখতে না পারে যে,
কিন্তু পরে দেখতে হবে কম্পিউটার বিজ্ঞান ক্লাস.
সুতরাং এটি একটি হতে যাচ্ছে শক্তভাবে ঘন্টা বস্তাবন্দী.
আর আমার দিন বিনা দ্বিধায় দয়া করে যদি আপনার কোন প্রশ্ন থাকে তাহলে জানি.
আপনি আগ্রহী হলে তাই উন্নয়ন করছেন
বেগবান সঙ্গে, অথবা সত্যিই কোনো iOS অ্যাপ্লিকেশন উন্নয়ন,
প্রয়োজনীয়তা একটি দম্পতি আছে.
প্রথম সব, আপনি ব্যবহার করতে হবে একটি ম্যাক, উদাহরণ চলমান
আমরা আজ ব্যবহার করা যাচ্ছে যে, অপারেটিং সিস্টেম এর একটি অপেক্ষাকৃত নতুন সংস্করণ
এই ক্ষেত্রে এক্স, আমি এক্স 10.5 চলমান করছি.
যদি আপনি চান আপনি 10.11 চলমান যাবে.
কিন্তু সবকিছু আপনি যাচ্ছেন যে পরে Xcode 7 এবং জড়িত হয় দেখতে,
যা সর্বশেষ সংস্করণ আছে বেগবান 2.0 যা ক্ষিপ্রগতি, এর.
এটি আসলে একটি প্রশংসনীয় গুরুত্বপূর্ণ পার্থক্য.
সিনট্যাক্স অনেক আছে বেশ উল্লেখযোগ্যভাবে পরিবর্তিত
বেগবান 1.0 থেকে কিছু ক্ষেত্রে, গত বছর মুক্তি পায় যা,
বেগবান 2.0, যা শুধু এই পতনের বেরিয়ে আসেন.
সুতরাং আমরা বেগবান 2.0 প্রদর্শন করতে যাচ্ছেন.
জিনিস অনেক যে আপনি অনলাইন অনুসন্ধান
আপনি অতিরিক্ত পেতে চেষ্টা করছেন জিনিষ বিভিন্ন সম্পর্কিত তথ্য,
আপনি স্পষ্টভাবে করতে পারেন বেগবান 2 জন্য অনুসন্ধান
বরং শুধু প্লেইন পুরানো বেগবান চেয়ে করা আপনি সিনট্যাক্স সঠিক পেতে যে নিশ্চিত.
>> বস্তুত, এই সাধারণত সত্য.
উন্নয়ন একটি দ্রুত পরিমাণ আছে বেগবান ভাষায় ঘটছে
অ্যাপল এটি মুক্তি বরাবর, আমি মনে করি কি, এটা এক বছরের একটু হয়েছে
এখন.
আর জিনিস পরিবর্তিত হয়েছে নাটকীয়ভাবে ঐ সময়ের মধ্যে.
আর তাই হতাশ হতে হবে না যদি আপনার চারপাশের খুঁজছেন যখন
কিভাবে সাধন করতে বেগবান বা বিষয় জন্য কিছু উদাহরণ কোড ব্যবহার করে কিছু
বা কিছু এটা না যে আসলে বেগবান 2.0 উপর কাজ করে.
নিশ্চিত করুন যে আপনি খুঁজছেন করুন বিশেষভাবে যে সংস্করণ জন্য
বিভিন্ন প্রভাব কমানোর জন্য চেষ্টা সংস্করণ এবং জিনিস যারা অসুস্থ.
>> আমি শুধু কিছু বিষয় নির্দেশ করতে চেষ্টা করব পুরোনো সংস্করণগুলি বিভিন্ন হয়.
তবে তার জন্য সতর্ক কিছু.
যে সম্ভবত হতে যাচ্ছে সবচেয়ে বড় মাথাব্যাথা এক
আপনি বেগবান সঙ্গে থাকবে খুঁজে বের করা হয় যে এমনকি শুধু পুরোনো যে উদাহরণস্বরূপ কোড
কয়েক মাস দ্বারা ব্যবহার করার চেষ্টা এটা আপনার আরো আধুনিক প্রকল্পে.
আর এটা শুধু শুধু কাজ করে না.
আপনি কম্পাইলার ত্রুটি পেয়ে থাকেন, সিনট্যাক্স ত্রুটি, ক্রেজি জিনিস সমস্ত প্রকারের.
তাই শুধু সঙ্গে ধৈর্য ধরুন যে, এবং আপনি আশা করবে
একটি সুন্দর সুন্দর অভিজ্ঞতা আছে বেগবান সার্বিক সঙ্গে.
>> এখন আপনি join-- আসলে পারেন এবং আমি আশা করি আমরা আসলে এখনো এই এই বছরের আছে
সি এস 50 এর আপেল অ্যাপ্লিকেশন উন্নয়ন দল, যা
আপনি কোন অ্যাপ্লিকেশন ইনস্টল করার অনুমতি দেবে যা আপনি আপনার iOS ডিভাইসের তৈরি.
তাই এই URL- এ যদি কটাক্ষপাত আপনি যে কাজ করতে আগ্রহী হয়.
>> তাই মাত্র কয়েক বেগবান নিজেই সম্পর্কে কিছু.
এটি একটি কম্পাইল ভাষা.
কিন্তু আপনি যে কিছু দেখতে হবে আমরা ব্যবহার করি যে বৈশিষ্ট্য
এটি একটি বিট এছাড়াও ব্যবহার করতে দেয়া একটি উপায় হিসাবে ভাল ব্যাখ্যা মত.
>> সিনট্যাক্স অনেক ধার করা সি থেকে এটা ভিত্তি করে এবং সি তে লেখা
আর তাই আমরা দেখতে হবে takeaways একটি অনেক আছে
আপনার বিদ্যমান জ্ঞান থেকে সি থেকে আমরা বেগবান করার পোর্ট পারেন যে.
>> কিন্তু কিছু আছে সি থেকে এটি ভিন্ন করতে
এটা খুব দৃঢ়ভাবে টাইপ করা হয়.
স্বয়ংক্রিয় মেমরি ব্যবস্থাপনা নেই.
আপনার কাছে আছে চলুন না malloc বা ফ্রি কোথাও ব্যবহার করুন.
এটা সাধারণত্ব জন্য ডিজাইন করা হয়.
তাই অন্য কথায়, যে আপনি এটি ব্যবহার করতে পারেন অ্যাপল ওয়াচ থেকে কনটেক্সট সমস্ত প্রকারের,
আইফোন, সমস্ত উপায় OS X এর, এবং আপ এমনকি কিছু সার্ভার, এমনকি কিছু স্ক্রিপ্টিং.
কিন্তু আমরা দেখতে পাবেন স্ক্রিপ্টিং এর জন্য সমর্থন
এখনও বেশ আছে যেমন হয় এটা অন্য ভাষায় হয়.
তাই, খুব সম্ভবত আপনি ব্যবহার করা হবে এই একচেটিয়াভাবে উন্নয়নের জন্য
আপনার Mac বা আপনার আইফোন উপর.
>> এবং এটি আধুনিক বৈশিষ্ট্য অনেক আছে.
এবং এই জিনিস অনেক কাপড় আছে আমরা আজ আলোচনা করতে চেষ্টা করে যাচ্ছেন
কিন্তু আমাদের বিষয় অকপটে যে, আমরা সমগ্র মাঠ চাই পারেন.
যা আসলে, সি এস 51, প্রদত্ত পরবর্তী সেমিস্টারে,
এই বিষয়ের উপর অনেক গুরুত্ত্ব যে নীচে বর্ণিত রয়েছে.
তাই আপনি যদি একটি সম্পূর্ণ সেমেস্ত্র ব্যয় করতে পারেন এইসব জিনিস বুঝতে.
কিন্তু আমরা চেষ্টা করে যাচ্ছেন তাদের মাধ্যমে পেতে
অন্তত যথেষ্ট আপনি যে কি বুঝতে পারেন
আপনি তাকান যখন যাওয়া একটি দ্রুতগতি প্রোগ্রাম এ
এবং আপনার উপায় হ্যাক করতে পারবে চূড়ান্ত প্রকল্পের জন্য এটি মাধ্যমে.
>> সবচেয়ে ভাল উপায় হল এখন যে আপনি যা করতে পারেন এই অতিরিক্ত তথ্য পেতে
শুধু অ্যাপল এর মাধ্যমে উন্মুক্তভাবে হয় ক্ষিপ্রগতি জন্য ডকুমেন্টেশন প্রদান.
API গুলি একটি অনেক আছে পাওয়া যায় যে.
আর এই জন্য আপনি একটি ভাল বাসা বেস নির্দিষ্ট কিছু জন্য, দেখুন যে আপনি
প্রয়োজন iOS জড়িত একটি API- এর সাথে কাজ করতে চান.
আপনার জন্য ক্যামেরা ব্যবহার করতে চান তাহলে উদাহরণস্বরূপ, আপনি এখানে খুঁজছি শুরু করতে পারেন
এবং গুগল এবং স্ট্যাক ব্যবহার স্বাভাবিক পদ্ধতিতে ওভারফ্লো.
>> এই প্রথম কোন প্রশ্ন আমরা সঠিক ঝাঁপ আগে?
ঠিক আছে.
চল এগোই.
>> সুতরাং প্রথম, আমি একটি উদাহরণস্বরূপ ফাইল সংখ্যা.
আর আমি পইঠা চেষ্টা করতে যাচ্ছি অপেক্ষাকৃত দ্রুত তাদের মাধ্যমে.
এই বেগবান জন্য হ্যালো ওয়ার্ল্ড ফাইল.
এটা খুব সহজ.
পথ আরো মন্তব্য নেই প্রকৃত কোড আছে চেয়ে আছে.
প্রকৃত কোড এ লক্ষ্য করুন লাইন 14 খুব নীচে.
এটা মুদ্রণ বলেছেন.
এবং তারপর এটি একটি ফাংশন কল.
আমরা এটি একটি মধ্যে পার করছি স্ট্রিং হ্যালো CS50 বলা.
কোন সেমিকোলন আছে বিজ্ঞপ্তি.
কোন int প্রধান আছে বিজ্ঞপ্তি.
কেউ নেই আমরা সি ছিল যে Cruft
আমরা এই ভাবে বেগবান ব্যবহার করা হয়, তখন শুধু একটি টেক্সট ফাইলে লেখা হয়, যা
এবং তারপর, আমার কম্পিউটারে সঞ্চিত আমি এটা কম্পাইল এবং এটি চালাতে পারেন.
>> আমি এখানে যে লক্ষ্য করুন এবং CS50 IDE ব্যবহার করে না.
এই আমি অনুমান করে যে চলমান এবং আমি OS X এর উপর আছি যে,
এবং আমি Xcode ইতিমধ্যে ইনস্টল আছে যে এই জন্য যাতে এই মেশিনে
আসলে ফাংশন.
কিন্তু শুধু এই একটি সাধারণ টেক্সট ফাইল যে আমরা তারপর কম্পাইল এবং সম্পাদনা করতে পারেন.
তাই আসুন এই আসলে কিভাবে কাজ করে দেখুন.
আমি কি এটা কম্পাইল করতে চান?
swiftc 1.swift.
একটি মুহূর্ত বা দুই পরে, এটা আমরা এখন আছে দেখতে হবে
1 নামক একটি ফাইলে এই কম্পাইল.
আর এখন আমরা আমাদের CS50 ছাপা হয়েছে, বরং আমাদের হ্যালো দুনিয়া আবেদন.
>> যেমন অন্য একটি জিনিস লক্ষ্য করুন ভাল, যে ডিফল্ট
আমরা ইনপুট করতে হত না / এন একটি নতুন লাইন প্রিন্ট.
ডিফল্ট, মুদ্রণ ফাংশন মধ্যে দ্বারা বেগবান আপনার জন্য একটি নতুন লাইন প্রিন্ট করা হবে.
আপনি একটি ঐচ্ছিক অতিরিক্ত প্রেরণ করতে পারেন পরামিতি, তা না করার তা জানাতে.
কিন্তু যে আরও তথ্যের জন্য গুগল.
ডিফল্টরূপে, এটা মুদ্রণ লাইন করবেন.
>> ঠিক আছে, তাই এর উপর সরানো যাক তারপর অন্য কিছু জিনিস করতে.
সুতরাং কিভাবে আমরা আসলে ভেরিয়েবল নির্ধারণ করতে পারবেন?
আমরা যে ব্যবহার করে নির্বাচন করতে পারবেন দুটি পদ্ধতি এক.
এবং আমি চাই যে এক আপনি বলতে প্রথম ওপর এই ধরা যাক সংজ্ঞা.
এবং এই গুরুত্বপূর্ণ কার্যকরভাবে কারণ
আমরা কি করছেন একটি ধ্রুবক সংজ্ঞায়িত করা হয়.
আমরা একটি পরিবর্তনশীল তৈরি করতে যাচ্ছি, অথবা বরং একটি ধ্রুবক নামে,
কিছু data-- তা প্রদান এই ক্ষেত্রে, স্ট্রিং ড্যান.
কিন্তু এই দিন ব্যবহার করে শব্দ, আমরা বলার অপেক্ষা রাখে না
এই ভেরিয়েবল যে বা আবার বলা constant--
নাম না পরিবর্তন করা যাচ্ছে.
এটা সারা অপরিবর্তনীয় হতে যাচ্ছে এই প্রোগ্রামের সময়কাল
বা সারা প্রসঙ্গের সময়কাল
যে পরিবর্তনশীল পাওয়া যায়.
>> এই যখন যে সত্যিই গুরুত্বপূর্ণ আপনি নয় যে কিছু তথ্য আছে
আপনার প্রোগ্রামে পরিবর্তন করতে যাচ্ছেন, এবং আপনি উদাহরণ বিভিন্ন দেখতে পাবেন
আমরা ব্যবহার করতে চান যখন সম্পর্কে অন্যান্য সিনট্যাক্স বনাম যাক,
আপনি দিন ব্যবহার করে এটি গুরুত্বপূর্ণ যেখানেই সম্ভব এই সূচিত কারণ
এটা যে ভাষা পরিবর্তন করা যাচ্ছে না,
এবং এটা আসলে সম্পাদন করতে পারবেন অপ্টিমাইজেশন অনেক
গতি উন্নতি এবং আপনার প্রোগ্রাম নিরাপত্তা.
এবং নিরাপত্তা দ্বারা আমি না মানে ক্রেজি ত্রুটি সাথে ক্র্যাশ
আমরা হতে পারে যে সি দেখে অভ্যস্ত
>> তারপর যখন আমরা স্ট্রিং ক্ষেপক ব্যবহার করতে পারেন একটি স্ট্রিং মধ্যে এই encapsulate করতে.
সুতরাং আমরা এই দেখতে পারেন মুদ্রণ লাইন, হ্যালো প্রিন্ট,
এবং তারপর ব্যাকস্ল্যাশ টি বাম বন্ধনী ব্যবহার করে, এবং তারপর আমার পরিবর্তনশীল এর নাম,
এই ক্ষেত্রে এ ধ্রুব, প্রথম বন্ধনী বন্ধ.
আমি মূলত তারপর নির্বাণ করছি এই পরিবর্তনশীল নামক নাম বিষয়বস্তু
স্ট্রিং এর ভিতরে এবং তারপর সেখানে ফলাফল মুদ্রণ.
>> এই ফাইলে এক অন্য পরিবর্তন আছে যা আমি খুব শীর্ষে, আছে,
, একটি কুঁড়েঘর লাইনে করা যা মূলত শুধু নির্দিষ্ট করে
আমি ব্যবহার করতে চান যে বেগবান দোভাষীর, যা
আমি আর আছে এর মানে হল যে এই বিশেষ প্রোগ্রাম কম্পাইল.
আমি শুধু তার নিজস্ব স্ক্রিপ্ট মত এটি চালাতে পারেন.
কিন্তু এই পিছনে, এই ক্ষেত্রে, হয় দৃশ্য এবং তারপর কম্পাইল করা হচ্ছে
চালান হচ্ছে.
এটা আমাদের জন্য শুধু অদৃশ্য.
>> ঠিক আছে, তাই এর উপর সরানো যাক.
তাই কপট একটি বিট আছে যে ঠিক আগে ঘটেছে.
আমি আপনি যে আমি দেখিয়েছি একটি ধ্রুবক সংজ্ঞায়িত করতে পারে.
এবং আমি তা থেকে কিছু তথ্য প্রদান করতে পারে.
কিন্তু এই ক্ষেত্রে, আমি না লক্ষ্য আসলে তথ্য ধরণ উল্লেখ
এটা যে.
এবং যে কারণ এর কম্পাইলার, বেগবান করতে পারেন
শুধু ভিত্তিক তথ্য টাইপ আবিষ্কার আমি এটা পুরা যে তথ্য.
এটা দ্বারা এই মূল্যায়নের জানে যে কারণ পরিবর্তনশীল এখানে ডান, এই তথ্য সঠিক
এখানে, এটা একটি স্ট্রিং যে জানে না.
আর তাই এই ধ্রুবক নাম তাই হয় পাশাপাশি একটি স্ট্রিং হতে যাচ্ছে.
>> কিন্তু আমরা উদাহরণ সুস্পষ্ হতে পারে যে ধরণ সম্পর্কে
আমরা ব্যবহার করতে যাচ্ছি ধ্রুবক বা ভেরিয়েবল
এই সিনট্যাক্স ব্যবহার করে instead-- নাম কোলন স্ট্রিং সমান দিন
এই ক্ষেত্রে আমরা করছি, যার মানে ড্যান, একটি ধ্রুবক নামে সংজ্ঞায়িত করতে যাচ্ছে.
এটা টাইপ স্ট্রিং হতে যাচ্ছে.
আর মান ড্যান হতে যাচ্ছে.
এখন অন্য উপায় যে আমরা variables-- তৈরি করতে পারেন
এবং এই চপল ভেরিয়েবল, যা আমরা হয়, আসলে, যাচ্ছে মানে
একদা তাদের বিষয়বস্তু পরিবর্তন প্রসঙ্গের সময়কাল
যে পরিবর্তনশীল আমরা defined-- হয় যে var কী-ওয়ার্ড ব্যবহার পরিবর্তে যাক.
কিন্তু আবার, ডিফল্টরূপে, যদি না আপনি জানেন আপনি যে তথ্য নিপূণভাবে চাইবে,
জন্য দিন ব্যবহার করার চেষ্টা করুন উন্নত কর্মক্ষমতা.
>> এই ক্ষেত্রে, আমি তারপর পারেন তথ্য ধরণ উল্লেখ
আমরা এর ভিতর হতে আশা যে ট্যাগ নামক এই নতুন পরিবর্তনশীল.
এটি একটি স্ট্রিং হতে যাচ্ছে.
আর আমরা তখন কনক্যাটেনেট চলুন দুটি পংক্তি একসাথে, স্ট্রিং হ্যালো,
এবং স্ট্রিং দ্বারা প্রতিনিধিত্ব পরিবর্তনশীল, অথবা বরং ধ্রুবক নাম.
>> তাই এই চমৎকার কারণ কিছুটা যে আমরা ভালো পিএইচপি হয়
খুব সহজ স্ট্রিং সংযুক্তকরণের আছে.
আমরা স্বয়ংক্রিয়ভাবে করতে হবে না মেমরি পরিচালনার কোনো সাজান ব্যবহার
আকার বৃদ্ধি এবং করতে সেখানে মজার জিনিষ কোন ধরণের.
আমরা আসলে আশা হিসাবে কাজ করে.
>> ঠিক আছে, এই উপর কোন প্রশ্ন?
>> এখন অন্য কোন কারণে যে আমরা আপনার ক্ষমতা আছে, প্রয়োজন
সংজ্ঞায়িত পাবে তথ্য ভেরিয়েবল টাইপ
কখনও কখনও আমরা না কারণ হয় ভেরিয়েবল আরম্ভ করতে চান
কিছু তথ্য দিয়ে সংজ্ঞা বিন্দু.
তাই এই ক্ষেত্রে, এর কথা বলা যাক আমি inputting শুরু করতে চান যে
একটি গ্রেড বইয়ের মধ্যে কিছু বাংলাদেশের.
ওয়েল আমি জানি এক যে আমি হতে চাই যে ভেরিয়েবল
একটি চপল গ্রেড হতে যাচ্ছে.
আর আমরা এও জানি যে আমরা এটি একটি পূর্ণসংখ্যা হতে চান.
কিন্তু হয়তো আমরা এখনো না যে গ্রেড আছে.
>> ক্ষিপ্রগতি, আপনি এটি আছে তথ্য ধরণ নির্ধারণ
একটি যুক্ত হয় পরিবর্তনশীল বা ধ্রুবক দিন
আপনি আসলে প্রোগ্রামার আগে যে ভেরিয়েবল ব্যবহার.
এটা দৃঢ়ভাবে টাইপ করা হয়, কারণ, আপনি একটি টাইপ সংযুক্ত আছে
এই ভেরিয়েবল সঙ্গে.
>> আমি সঠিকভাবে না করেছি, তাই এই ক্ষেত্রে কিছু মান সঙ্গে প্রথম সক্রিয়া,
তারপর আমি বেগবান বলা প্রয়োজন কি আমি ডাটা টাইপ বলে আশা করা.
এবং এটা থাকা যাচ্ছে যে একই ডাটা টাইপ
এই প্রোগ্রামের ইতিহাস জুড়ে.
>> এখন আপনি যত তাড়াতাড়ি প্রলুব্ধ হতে পারে আমি এই গ্রেড পরিবর্তনশীল তৈরি করেছেন
এবং এটি একটি প্রদত্ত আমি যদি এখন 100 এর পূর্ণসংখ্যা,
কনক্যাটেনেট করার চেষ্টা করতে চান যে পূর্ণসংখ্যা সঙ্গে একটি পংক্তি,
এখনও ব্যবহার করতে প্রলুব্ধ হতে পারে স্ট্রিং সংযুক্তকরণের অপারেটর
ভালো আমরা শুধু কয়েক লাইন আগে করেনি.
কিন্তু দুঃখজনকভাবে, আসলে এই না
আপনি কারণ, কাজ মূলত সম্পাদন
দুটি ভিন্ন ধরনের একটি অপারেশন.
>> এখন এই অপরের থেকে ভিন্ন হয় সত্যিই যা পিএইচপি মত প্রত্যেক
ধরনের তাদের সাজান সঙ্গে loosey জড়বুদ্ধি.
তারা শুধু, হ্যা, ভালো থাকেন যাই হোক না কেন, আমি না যত্ন.
শুধু আমার এক ধরনের দিতে, এবং হয়তো আমি ডান জিনিস কি করব.
>> এই ক্ষেত্রে, বেগবান হয় ধরনের সম্পর্কে অত্যন্ত কঠোর
আপনার সাথে ডিল করা হয়.
এই সঙ্কলন অপারেটর বা সংযুক্তকরণের অপারেটর
মূলত একটি দম্পতি আছে বিভিন্ন সম্ভাব্য বিকল্প.
আপনি সঙ্কলন করতে পারেন ইন্টিজার, বা আপনার সাথে
স্ট্রিং সংযুক্তকরণের করতে পারেন, এবং সম্ভবত কিছু অন্যান্য বিষয় হিসাবে ভাল.
কিন্তু যে অপারেটর সনাক্ত করে না এটা যেকোন দিকে কি,
অথবা যারা সমন্বয় বরং দুই ধরনের, এটা আশা করা কি না,
তারপর এটি একটি ব্যর্থ হতে যাচ্ছে.
>> তাই এই ক্ষেত্রে, এটা মানে কি একটি স্ট্রিং প্লাস একটি পূর্ণসংখ্যা আছে?
ওয়েল প্রেক্ষাপটে এই, আমরা সম্ভবত চান
একটি স্ট্রিং সংযুক্তকরণের অপারেশন করতে.
তবে অবশ্যই কম্পিউটার প্রসঙ্গের যে সাজানোর না.
আর তাই আমরা প্রদান করতে হবে যে অতিরিক্ত তথ্য
এটা কি জানাতে আমরা যা করতে চাই.
>> অন্য কথায়, আসলে তাই বেগবান দৃঢ়ভাবে টাইপ করা হয় যে
আপনি একটি করতে হবে মানে অতিরিক্ত কাজ সামান্য বিট
এটি কাজ পেতে আপনি চান যে ভাবে.
কিন্তু এর ফলে, এটি নিরাপদ.
আর আপনি একবার নিতে ঐ ধরনের একাউন্টে,
কিছু মাত্র উন্মুক্তভাবে শুরু বেশ ভাল কাজ করার.
>> এই ক্ষেত্রে, আমরা তখন এত স্ট্রিং সংযুক্তকরণের সঞ্চালন
স্পষ্টভাবে নিক্ষেপণ দ্বারা একটি পংক্তিতে পূর্ণসংখ্যা
এই তা মোড়কে দ্বারা রাজধানী এস স্ট্রিং ফাংশন,
এবং তারপর স্ট্রিং সংযুক্তকরণের ব্যবহার অপারেটর, আমাদের ট্যাগ পরিবর্তনশীল পরিবর্তন করতে
এবং তারপর এটি প্রিন্ট আউট.
>> এ পর্যন্ত সব ঠিকই?
ঠিক আছে, এর উপর সরানো যাক.
>> এখন তথ্য বিভিন্ন আছে আমরা বেগবান ব্যবহার করতে পারেন যে ধরনের.
আপনি অভ্যস্ত হয়ে আছে, আমরা একটি চপল অ্যারে তৈরি করতে পারেন.
আর যে অ্যারে শুধুমাত্র পারেন একটি একক টাইপ ধারণ করে.
>> তাই এই ক্ষেত্রে, আমরা তৈরি করতে যাচ্ছেন পূর্ণসংখ্যার একটি চপল অ্যারে, যা
আমরা বাংলাদেশের ডাকবে আর আমরা সক্ষম হবে এই বর্গাকার বন্ধনী মধ্যে যে ধারণ করার
আপনি যেমন বিন্যাস তৎপর থাকেন অন্য ভাষায় বিভিন্ন করার.
কিন্তু আমরা করছি এখানে যে লক্ষ্য জিনিষ কয়েক সংজ্ঞা.
বাংলাদেশের একটি চপল ভেরিয়েবল হল আমরা চলুন শুরু করা যাক শব্দ ব্যবহার করবেন.
এর মানে হল যে আমরা তারপর পরিবর্তন করতে পারেন এই অ্যারের বিষয়বস্তু.
এটা টাইপ এরে জনের অবস্থা আশঙ্কাজনক নয় এবং আমরা যে বলতে পারেন
এখানে এই বর্গাকার বন্ধনী উপর ভিত্তি করে.
>> চমৎকার জিনিস এখন এক এই সম্পর্কে যে আমরা হয়
অনেক এক্সেস আছে অতিরিক্ত তথ্য
অ্যারে সম্পর্কে শুধু ব্যবহার কিছু সহজ বিন্দু স্বরলিপি.
সুতরাং উদাহরণস্বরূপ, grades.count আমাদের জন্য উপলব্ধ
যে যে বিদ্যমান আইটেম সংখ্যা আমরা তখন বেশ অ্যাক্সেস করতে পারেন যা অ্যারে,
সহজেই কেবল যে বিন্দু স্বরলিপি ব্যবহার.
>> আপনি অতিরিক্ত যোগ করতে চান তাহলে এই অ্যারের জিনিস,
আপনি পিএইচপি শৈলী ব্যবহার করতে পারবেন না যেখানে আপনি শুধু স্পষ্টভাবে সংজ্ঞায়িত,
একটি প্রদত্ত সূচিতে, কিছু মান আপনি সন্নিবেশ করাতে চান.
পরিবর্তে, পরিশেষে যোগ ব্যবহার অ্যারে টাইপ পদ্ধতি
এই পংত্তিতে পরিক্রমণ করা, যে আইটেমটি, 95 লিখবেন.
>> তাই এখন এই অ্যারে নিম্নলিখিত আছে 100, 0, 90, 85 contents--.
আর এখন আমরা যোগ করেছি যে 95 পাশাপাশি.
>> অন্যান্য উপায় আছে আমরা কিছু যোগ করতে পারবেন.
আপনি আসলে ব্যবহার করতে পারেন একটি সঙ্কলন অপারেটর,
যা হিসাবে ব্যাখ্যা করা হবে একটি অ্যারের পরিশেষে অপারেশন.
এবং তারপর আপনি অন্য লিখবেন পারেন যার বিষয়বস্তু 70 এবং 80 হয় অ্যারে,
যে অ্যারের.
তাই এখন আমরা আছে এই পরিবর্তনশীল বিষয়বস্তু
100, 0, 90, 85, 95, 70, ও 80 grades--.
এই মাত্র একটা চমৎকার সামান্য অন্বিত হয় বেগবান আমাদের জন্য উপলব্ধ যে চিনি.
>> আমরা যোগফল করতে চান তাহলে বাংলাদেশের আমরা সম্ভবত আছেন
পুনরুক্তি করতে চান যাচ্ছে এই লুপ প্রতিটি আইটেমের উপর.
আর আমরা বেগবান, ধারণা, আছে না একটি লুপ জন্য হিসাবে আপনি আশা করবে.
কিন্তু আমরা ইঙ্গিত যে ভাবে একটি পরিসীমা কিছুটা ভিন্ন.
এই ক্ষেত্রে, তাই সবকিছু সমষ্টি, আমরা করব
একটি অস্থায়ী তৈরি করতে যাচ্ছে আমাদের জন্য যাতে পরিবর্তনশীল নামক সমষ্টি
এই গননা বজায় রাখার.
>> আর আমাদের জন্য বিজ্ঞপ্তি এখানে লুপ নির্মাণ.
0 ইন্ডেক্সের জন্য .. <grade.count.
সুতরাং এই নির্মাণ, 0 .. <grades.count আমরা যেখানে একটি পরিসীমা অপারেশন
আমরা তৈরি করতে যাচ্ছি বলছে 0 থেকে পূর্ণসংখ্যার একটি সীমার
কিন্তু grades.count ব্যতীত.
তাই এই হতে হবে 0, 1, 2, 3, 4, 5, আপ যাইহোক অনেক এক পর্যন্ত
grades.count আগে.
>> তাই এই কিভাবে চেয়ে ভিন্ন আমরা loops জন্য সাধারণত ব্যবহৃত হবে
আপনি কিছু সূচক হবে যেখানে পরিবর্তনশীল, প্রথমে 0 সমান এটি সেট
এবং তারপর কিছু না হওয়া পর্যন্ত যে সংহত আইটেম গণনা কম মূল্য
যে অ্যারের মধ্যে.
>> সুতরাং একটি পরিবর্তন নেই এই করতে, আসলে,
যা আমাদের খুব সহজেই করতে পারবেন রেঞ্জ বিভিন্ন ধরনের সেট.
আপনি এই সীমার পরিবর্তন হলে তিনটি বিন্দু, 0 ... grade.count,
এই পরিসীমা প্রতিনিধিত্ব 0 সমেত grades.count করতে,
যে সংখ্যা হয়, যার অর্থ তারপর যে সীমার মধ্যে অন্তর্ভুক্ত করা হয়েছে.
>> কিন্তু এটি খুবই সহজ হয় এই সঠিক জিনিসের জন্য,
আমরা সঞ্চালন আছে লুপ উপর পুনরাবৃত্তিও
যারা সূচী শূন্য ইন্ডেক্স করা হয়, কারণ, আমরা অন্য ভাষায় দেখেছি
আরো.
লুপ জন্য এই উপর কোন প্রশ্ন?
>> সুতরাং অন্তর্নিহিত সংজ্ঞা আছে এই সূচক পরিবর্তনশীল,
যার মান 0 থেকে শুরু হয়, এবং প্রতিটি লুপ পুনরাবৃত্তির এ চলতে
একটি বিন্দু পর্যন্ত 1 আপ দ্বারা বৃদ্ধি যে, grades.count সমান
যা সময়ে, লুপ aborts.
>> আমাদের স্ট্রিং মধ্যে যে লক্ষ্য করুন এখানে প্রক্ষেপ,
আমরা আসলে কিছু সহজ সম্পাদন করতে পারবেন ঐ মান হেরফেরের.
সুতরাং সূচক প্লাস 1 আসলে হবে যে মান একটি সঙ্কলন সঞ্চালন
সূচক কারণ, এ এই ক্ষেত্রে, একটি পূর্ণসংখ্যা.
এবং যে সময়ে, এটা করবে না তারপর একটি স্ট্রিং রূপান্তরিত করা
এবং, এখানে এই স্ট্রিং মধ্যে নতুন কোনো বস্তু আমরা আশা করতে চাই এবং প্রিন্ট আউট. .
>> আর সুন্দর জিনিস অ্যারে সম্পর্কে এখানে
আমরা উদাহরণ আছে সক্ষম হয় আনা হচ্ছে মূল্যবোধ ও সেটিং মান
বর্গাকার বন্ধনী স্বরলিপি হিসেবে ব্যবহার আমরা পাশাপাশি অন্যান্য ভাষায় দেখা করেছি.
>> ঠিক আছে, এখান থেকে, আমরা এখন তাই আমাদের বাংলাদেশের সব আমাদের সমষ্টি গনা.
এখন সাজানোর পরবর্তী লজিক্যাল পদক্ষেপ হবে
এটি একটি বিভাগ অপারেশন করতে যারা বাংলাদেশের গড় আউট.
কিন্তু কিছু গুরুত্বপূর্ণ এখানে কী ঘটছে, যা
এই সমষ্টি সম্ভবত একটি পূর্ণসংখ্যা হয়.
কিন্তু আমরা কিছু সম্পাদন করতে হবে ডবল বিভাগের সাজান.
আর এই হতে যাচ্ছে যখন অত্যন্ত গুরুত্বপূর্ণ
আমরা এই অপারেশন সম্পাদন করতে চান, আমরা কি বলছে কারণ
আমরা আসলে প্রয়োজন হয় দুই টেনিস উপর বিভাগ সঞ্চালন.
এবং আবার, ক্ষিপ্রগতি কারণ খুব শক্তিশালী ভাবে টাইপ করা হয়,
আমরা স্পষ্টভাবে সব সেট করতে হবে দ্বিগুণ করার জিনিস আমরা আসলে আগে
যে অপারেশন সম্পাদন.
>> যাতে আমাদের জন্য তাই ডবল বিভাগ সঞ্চালন,
এটা শুধু একটা জন্য যথেষ্ট নয় ঐ আইটেম একটি ডবল হতে.
দুইটাই একটি হতে হবে Swift জন্য যাতে ডবল
এই যে নিশ্চিত করতে আমরা যা করতে চাই তা হল.
সুতরাং আমরা তারপর স্পষ্টভাবে typecast হবে আমরা উপরে নির্ণিত করেছি যা সমষ্টি
এবং টেনিস বাংলাদেশের গণ্য, এবং তারপর যে অপারেশন এবং দোকান সঞ্চালন
যে এই নতুন পরিবর্তনশীল মধ্যে, অথবা বরং গড় নামক এই নতুন ধ্রুবক,
কি ধরনের, আপনি কল্পনা যা থাকবে?
ডাবল, হ্যা.
তাই এই ক্ষেত্রে, আমরা এটা উল্লেখ করার প্রয়োজন হয় না
এটা থেকে অনুমান করা যায়, কারণ তথ্য গড় অপারেশন কি ধরনের
হবে.
এবং দ্রুতগতি সাধারণত বেশ ভাল সম্পর্কে ধরনের আবিষ্কার করতে সক্ষম হচ্ছে.
>> আপনি এই দেখতে চাই না চালানো, বা আমি সরানো যাবে?
আমি বর্তা চান.
এই কোন কোন প্রশ্ন?
গ্রেট.
>> এখন আমরা পেতে শুরু করতে যাচ্ছেন ভাল stuff-- সংজ্ঞার ফাংশন,
এবং অন্যান্য যে সকল ধরনের একটি দম্পতি বেগবান করার অনন্য আপনি না আছে
অন্য ভাষায় দেখা এ সময় পর্যন্ত,
কিন্তু তারা অন্যান্য মধ্যে উপস্থিত আপনি পরে খুঁজে পেতে পারে যে প্রত্যেক.
তাই প্রথমে আপনি চান একটি ফাংশন নির্ধারণ করতে,
আপনি ভীতু শব্দ দিয়ে তা নির্ধারণ ফাংশন, এবং তারপর ফাংশন নাম,
এবং তারপর প্রথম বন্ধনী, আর্গুমেন্ট যে আপনি যে ফাংশন গ্রহণ করতে চান.
আর্গুমেন্ট দোজখ specify-- সাধারণভাবে
এছাড়াও তথ্য পদ্ধতি উল্লেখ করা আবশ্যক যে তারা অনুমান করা যায়, যদি না তারা, হয়.
আর আমরা যে একটু দেখতে পাবেন অল্পমাত্র বিট এ সতর্কীকরণ.
>> তাই এই ক্ষেত্রে আমরা একটি আছে ফাংশন printGradeCount বলা.
আমরা একটি গ্রহণ করতে যাচ্ছেন ভেরিয়েবল অথবা বরং এই ক্ষেত্রে,
একটি constant-- gradebook বলা.
আর তা হতে যাচ্ছে পূর্ণসংখ্যার অ্যারে টাইপ.
এখন কিছু আছে যে এখানে সত্যিই গুরুত্বপূর্ণ
যে আমি আপনাকে বুঝতে চান.
যে ডিফল্টরূপে, এই আর্গুমেন্ট এই ফাংশন ইনপুট হয় হয়
একটি অন্তর্নিহিত যাক শব্দ দ্বারা সংজ্ঞায়িত, যা আমি এই পরিবর্তন করতে পারেন না যে মানে
এখানে gradebook পরিবর্তনশীল.
এবং যে ধরণের, ইন্দ্রিয় তোলে আপনি ডাটা পার করছি কারণ.
আর আপনি সম্ভবত তা চান না আপনি অধীনে থেকে পরিবর্তন করা.
এটা স্পষ্টভাবে উল্লেখ করা সম্ভব এই একটি পরিবর্তনশীল নির্বাণ দ্বারা যে
এখানে Var শব্দ.
কিন্তু যে আমরা করেছি যে একটি gotcha হয় লক্ষ্য মানুষ অতীতে কাজ করেছেন
তারা এটা যাচ্ছে যে অধিকৃত হয় একটি পরিবর্তনশীল হতে হলে, বস্তুত, এটা
একটি ধ্রুবক.
>> ঠিক আছে, তাই এখানে তারপর, এই ক্ষেত্রে, আমরা কোন রিটার্ন টাইপ উল্লেখ নেই.
আমরা কিভাবে কাজ করতে আপনাকে দেখাতে হবে মাত্র কয়েক মিনিটের মধ্যে যে.
কিন্তু আমরা এখানে যে লক্ষ্য শর্ত যদি শুধুমাত্র একটি সহজ.
Gradebook হয় তাহলে খালি এই ক্ষেত্রে যা
এই পূর্ণসংখ্যা শুধু সম্পত্তি অ্যারে, তারপর আমরা কিছু প্রিন্ট আউট.
অন্যথায় আমরা অন্য কিছু না.
>> বেশ সহজবোধ্য পর্যন্ত আমি মনে করি.
যদি আপনার কোন প্রশ্ন থাকে তাহলে কিন্তু আমাকে থামাতে.
>> এখন এই ফাংশন, গড়, এছাড়াও লাগে কিছু আর্গুমেন্ট, অথবা বরং এক যুক্তি,
gradebook, এবং এই সময় যা একটি ডবল টাইপ ফিরে যাচ্ছে.
এটা কম্পিউটিং হয় কারণ গড় এবং এটা
আসলে যে আসতে যাচ্ছে কলিং লাইন কম্পিউটেড গড়.
>> এই ক্ষেত্রে, আমরা উল্লেখ একটি তীর পরে টাইপ আসতে.
আর এই মনে হতে পারে প্রথমে অদ্ভুত ধরনের.
আপনি অভ্যস্ত উত্থিত করেছি সেটিং ফিরে যাও
ফাংশনের নাম আগে টাইপ.
কিন্তু আপনি এই কথা চিন্তা করেন গণিতের ভাষায় বলতে গেলে,
মত আপনি গণিত আছে একটি ফাংশন নির্ধারণ,
আপনি কিছু সঙ্গে একটি ফাংশন আছে ইনপুট, এবং এটি একটি আউটপুট উত্পাদন করে.
এবং যে ঠিক কি এই অনুকরণমূলক অনুমিত হয়.
এবং অন্যান্য ভাষায় একটি দম্পতি আছে যে, পাশাপাশি একই সিনট্যাক্স আছে
কিন্তু সম্ভবত কেউ যে আপনি CS50 মধ্যে দেখা করেছি.
কিন্তু এখনও এটি দ্বারা বিভ্রান্ত করা হবে না.
তীর যাচ্ছে কি মানে এই ক্ষেত্রে ফেরত পাঠাবে.
ঠিক আছে, তাই কিভাবে আমরা যাচ্ছি এই গড় হিসাব করা?
ওয়েল, যদি gradebook খালি, ভাল তারপর আমরা আছেন
যা হতে পারে, 0 ফিরে যাচ্ছে একটি যুক্তিসঙ্গত ভাবে এই চিকিত্সার জন্য.
আমি এর আসুক, জানি না যে ফিরে কিছুক্ষন.
এটি আসলে না মে একটি যুক্তিসঙ্গত ভাবে হতে
গড়ে যদি গনা আমরা একটি খালি gradebook আছে.
>> তারপর আমরা শুধু আমাদের সঙ্কলন সম্পাদন করব.
আসলে আমরা যে এখানে লক্ষ্য করুন একটি একটি বিকল্প সংস্করণ আছে
আমাদের বারবার করতে পারবেন যা লুপ জন্য একটি অ্যারের মধ্যে প্রতিটি আইটেমের উপর
এবং প্রতিটি উপাদান স্থাপন নিজস্ব পরিবর্তনশীল মধ্যে.
এ গ্রেড জন্য নির্দিষ্ট করে gradebook, আমরা কি বলছে
আমরা পরোক্ষভাবে করতে যাচ্ছেন নামে একটি নতুন ধ্রুবক তৈরি
প্রতিনিধিত্ব যাচ্ছে গ্রেড gradebook প্রতি অনন্য আইটেম
প্রত্যেক সময় যে লুপ iterates জন্য.
প্রথমবার সুতরাং যে এটি চালানোর জন্য, গ্রেড হবে
gradebook প্রথম আইটেম হতে.
দ্বিতীয় সময় এটি হবেন দ্বিতীয় আইটেম, তাই এবং তাই ঘোষণা
gradebook আছে পর্যন্ত উপাদানের নিজেই ক্লান্ত.
তারপর আমরা যে সমষ্টি করতে সক্ষম হবে আমাদের সঙ্কলন পরিবর্তনশীল মধ্যে গ্রেড
এবং আমাদের গড় আসতে হিসাবে আমরা আগে দেখা করেছি.
ঠিক আছে, কোন প্রশ্ন?
হ্যাঁ?
শ্রোতা: আমি দুটি প্রশ্ন থাকে.
এক নম্বর, সজোরে, করতে পারেন আপনি এই এক পূর্ণসংখ্যা চালানো?
একটি হতে হবে না ডবল, এটা কি ঠিক?
| DAN AMRMENDARIZ: পারি আপনি যে প্রশ্নের পুনরাবৃত্তি?
শ্রোতা: আমি কি করতে পারি গড় হিসাবে পূর্ণসংখ্যা?
| DAN AMRMENDARIZ: পারি আপনি গড় হিসাবে পূর্ণসংখ্যা না?
সুতরাং একটি পূর্ণসংখ্যা ফিরে পরিবর্তে একটি ডবল গড়?
>> শ্রোতা: আপনি প্রত্যাবর্তন যে মুহূর্তে নিচের আছে.
| DAN AMRMENDARIZ: এখানে, 0.0 আসতে?
শ্রোতা: হ্যাঁ, মাত্র 0 প্রত্যাবর্তন.
সুতরাং এটি হতে হবে 80 বা 85, কিন্তু না 85.2.
>> | DAN AMRMENDARIZ: যে ক্ষেত্রে তাই, তাই একটি দম্পতি বিভিন্ন উপায় আছে
যে উত্তর দিতে.
আমার জন্য তাদের উত্তর দিন.
আমি শুধু এই রিটার্ন করতে হলে তাই 0, 0 একটি পূর্ণসংখ্যা মান.
আর তাই একটি কারণ হবে এই ক্ষেত্রে এর জন্য ধরনের ত্রুটি
এটি একটি ডবল আশা করছে না, কারণ কিন্তু তারপর একটি পূর্ণসংখ্যা ফিরে.
আমি একটি পূর্ণসংখ্যা ফিরে আসতে চান তাহলে, আমি যা করতে পারেন.
আমি রিটার্ন টাইপ সেট করতে পারেন , int এখানে 0 ফিরে,
এবং ডবল বিভাগ সঞ্চালন না.
কিন্তু তারপর আমরা হতে হবে পূর্ণসংখ্যা বিভাগ করছেন.
এবং যাতে আমরা পরে পেতে হবে আমরা সম্ভবত আশা করবে যে গড়.
তবে হ্যাঁ আমরা পরিবর্তন করতে পারেন যে ভাবে ধরনের.
>> শ্রোতা: এবং দ্বিতীয়ত, আপনি উপরে এক ডাবল আছে.
কিন্তু নিচে নিচে, যখন আপনি ডাবল ডাবল আসতে না,
যে স্বয়ংক্রিয়ভাবে ইতিমধ্যেই ডাবল বিন্যাস ফিরে.
কেন আপনি এখনও এটা উল্লেখ করা প্রয়োজন না একটি ডাবল দিয়ে উপরে তীর?
>> | DAN AMRMENDARIZ: তাই যা হোক, এই অংশ
এর the-- সুতরাং, প্রশ্ন পুনরাবৃত্তি এটা ফেরত থেকে অন্তর্নিহিত কারণ
এখানে ধরনের, কি ধরনের আসলে এই হয়, আমরা বেগবান সাথে স্পষ্ট করা প্রয়োজন
আমরা চাই কি সম্পর্কে এই ফাংশন আউট ফিরে
এটি টাইপ সঞ্চালিত যাতে যখন চেক, এটা নিশ্চিত করতে পারেন
আমরা আসলে লেখা হয়েছে কি যে নিচে আসলে যে কে কনর্ফাম করে.
সুতরাং এটি একটি চেক মত সাজানোর পরিস্থিতির নিজের সঙ্গে সাজান.
কিন্তু সেখানে are--
>> শ্রোতা: [শ্রবণাতীত] নির্দেশক?
>> | DAN AMRMENDARIZ: মামলা যখন আছে আমরা পরোক্ষভাবে পারে উল্লেখ করতে পারেন
রিটার্ন টাইপ সেট.
কিন্তু এই ক্ষেত্রে, আমি না যে কাজ করবে.
কিছু অন্যান্য সিনট্যাক্স আছে পরে আমরা দেখতে পাবেন যে.
>> ঠিক আছে, তাই এই সোর্স কোড একটি সামান্য বিট ভিন্ন
এই যুক্তির পার্স কারণ আমরা আহ্বান করছি যে ফাংশন.
কিভাবে এটি কাজ করে চলুন আপনাকে দেখাই আমরা আসলে যান আগে
কিছু মজার জিনিষ যে বেগবান ঘটছে.
>> তাই এই ক্ষেত্রে, যদি আমি শুধু এই রান এটা কি করছে কোড, যে লক্ষ্য
হচ্ছে ÑÑ যখন, এটা কোন ধরনের আমার একটা অদ্ভুত এরর দেয়.
আমি এটা একটি দম্পতি পাস করতে হবে একটি কমান্ড লাইন আর্গুমেন্ট হিসাবে পূর্ণসংখ্যা.
সুতরাং আসুন, 150 এবং 80 দেখতে দিন, এবং আঘাত লিখুন এটা আসলে কী করছে তা খুঁজে বের করতে.
এটা প্রতিটি গ্রহণ হচ্ছে পূর্ণসংখ্যার মানগুলি.
এটি একটি gradebook সেগুলি inputting এর.
এবং তারপর এটি করণ যে গড় হিসাব
এবং আমরা আশা করতে পারি যে outputting.
>> কিন্তু অবশ্যই কিছু চালু আছে এই প্রত্যাখ্যান কিছু বিষয় নিয়ে
একটি পূর্ণসংখ্যা হিসাবে কিছু.
আমরা ছিল যখন থেকে প্রত্যাহার করা হতে পারে হিসাবে কমান্ড লাইন আর্গুমেন্ট সাথে ডিল
প্রথম সি ও অন্যান্য ভাষায় যে কমান্ড লাইন আর্গুমেন্ট 0 তম আইটেমটি
তালিকায় কমান্ড নাম আমরা আসলে মৃত্যুদন্ড যে.
তাই এই ক্ষেত্রে, আমি শুধু looping করছি সমস্ত কমান্ড লাইন আর্গুমেন্ট উপর.
কিন্তু আমি অভিনব কোন ধরণের কাজ করছি না প্রথম এক যে উপর লাফালাফি করা পরীক্ষা.
আমি শুধু স্পষ্টভাবে আছি বা আমি পরোক্ষভাবে আছি এই ধরনের যা পরীক্ষণ
পূর্ণসংখ্যার আসলে আমি সামনে দাঁড়িয়ে আছে এই গুনতি সঞ্চালন.
>> এবং যে মূলত এখানে কি হচ্ছে.
ভাষার আর্গুমেন্ট জন্য প্রসেসের আর্গুমেন্ট,
আমি কিছু চেক সঞ্চালন করা যাচ্ছে না.
এবং এই ক্ষেত্রে, আমি যাচ্ছি প্রথম রূপান্তর চেষ্টা
একটি পূর্ণসংখ্যা মধ্যে যে যুক্তি দ্বারা একটি সুস্পষ্ typecast সম্পাদন,
এটা, ইনপুটের, একটি স্ট্রিং কারণ এবং না একটি পূর্ণসংখ্যা আসলে.
>> কিন্তু এই একটি অদ্ভুত সিনট্যাক্স ধরনের, যাক গ্রেড আন্তর্জাতিক (যুক্তি) সমান হলে.
আসলে কি ঘটছে এখানে অত্যন্ত হয়
আপনার ব্যবহার বেগবান করতে গুরুত্বপূর্ণ.
এই কি ব্যবহার করা হয় একটি ঐচ্ছিক টাইপ বলা.
>> সুতরাং এই ফাংশন, int (যুক্তি), না শুধু একটি পূর্ণসংখ্যা, কিন্তু রিটার্নস
কি একটি ঐচ্ছিক পূর্ণসংখ্যা বলা হচ্ছে.
আর তাই এই ধরণের হয় একটি টাইপ উপরে একটি টাইপ.
আপনি সাজানোর মত এটা কল্পনা করতে পারেন এটি একটি বাক্স মত ফিরে পাবে.
আর আপনি যে খোলার সময় বাক্স, এটা হয়
ফলাফল যা একটি পূর্ণসংখ্যা, আছে, বা এটা সব সময়ে এটা একেবারে কিছুই আছে.
আর এই একটি ত্রুটি পরীক্ষা হিসাবে দরকারী প্রক্রিয়া, কারণ এই ক্ষেত্রে
আমরা খুঁজে বের করতে পারেন, এই ছিল টাইপ রূপান্তর সফল?
এটা ছিল, তাহলে এটি আসলে ভিতরে একটি পূর্ণসংখ্যা আছে যাচ্ছে.
অন্যথা এটি কিছু আছে যাচ্ছে আমরা, Nil ডাকবো যে মান যা
এ সব কোন পূর্ণসংখ্যা প্রতিনিধি.
এটা সত্যিই কিছুই প্রতিনিধি এর.
>> আর তাই এই যদি নির্মাণ আমাদের যে বাক্স মোড়ক খোলা করতে পারবেন,
বাঁধাই যে ঐচ্ছিক.
আর আমরা যে মোড়ক খোলা করতে পারবেন, যদি প্যাকেজ এবং ভিতরে একটি পূর্ণসংখ্যা খুঁজে,
তারপর কি আমরা বলছে এখানে যে আমরা তখন ইচ্ছা হয়
যে মান মধ্যে সেট হওয়ার মঞ্জুরি গ্রেড নামক এই ধ্রুবক.
আর যদি বিবৃতিতে এই অংশ, যদি বিবৃতি উপরের অংশ
, চালানোর যে কারণ হবে মোড়ক খোলা সফল ছিল.
>> এটা ঠিক তাই যদি এটি ঘটে একটি ত্রুটি সম্ভবত ছিল
এই সুস্পষ্ টাইপ রূপান্তর হয়তো, একটি পূর্ণসংখ্যা স্ট্রিং থেকে
এটা উদাহরণস্বরূপ মান এবিসি এর.
এবং যে আসলে যাচ্ছে না একটি পূর্ণসংখ্যা রূপান্তর.
তারপর এটা, Nil আসতে হবে যা একটি পূর্ণসংখ্যা নয়.
আর এই যদি বিবৃতি ভাল তারপর ব্যর্থ.
কারণ থাকবে না গ্রেড এটা কোন পূর্ণসংখ্যা কন্টেন্ট আছে.
আর এটি পরিবর্তে এই অন্য ব্লক চালানো হবে.
হ্যাঁ?
>> শ্রোতা: nil এন-আমি-এল হয়?
| DAN AMRMENDARIZ: Nil হ্যাঁ, এন-আমি-এল হয়.
>> সুতরাং এই হয়তো এক বেগবান সম্পর্কে hardest জিনিস,
আপনি আছেন, বিশেষ করে যখন একটি iOS app এর উপর আগাছা
এবং আপনি আসলে চেষ্টা করছি সেখানে কিছু উন্নয়ন করতে.
এটা yelling করা যাচ্ছে সম্পর্কে ঐচ্ছিক আপনি এ.
এটা করার জন্য আপনাকে জিজ্ঞাসা করা যাচ্ছে প্রশ্ন চিহ্ন এবং বিস্ময়বোধক পয়েন্ট.
কিন্তু আপনি যদি আপনার out-- একবার চিন্তা figuring আউট করতে কিছু সময় চাই
কি, ঐচ্ছিক ধরনের সঙ্গে করা হচ্ছে আপনি নিজেকে মাথা ব্যাথা অনেক সংরক্ষণ করব
আপনি চেষ্টা করছেন হিসেবে ক্ষিপ্রগতি একটি অ্যাপ্লিকেশন লিখতে.
>> এটি আসলে একটি খুব শক্তিশালী বৈশিষ্ট্য.
আর আপনি শুধু করতে হবে এখন জন্য এটা আমার জন্য শব্দ গ্রহণ.
কিন্তু আমরা এই নির্মাণ দেখতে পাবেন এবং কিছু অন্যদের জন্য এটা পছন্দ
অন্যান্য সোর্স কোড কিছু যে আমরা অল্পমাত্র বিট আপনাকে দেখাব.
>> কোনো প্রাথমিক প্রশ্ন এখানে আছে?
তাই গুরুত্বপূর্ণ Takeaway একটি যে হয় ঐচ্ছিক টাইপ একটি metatype সাজান.
এটা হয়, একটি মান আছে এবং এটা, তারপর যদি
সম্ভবত যুক্ত যে মান থাকবে এর সাথে, বা এটা কোন মূল্য আছে,
এবং এটি Nil দ্বারা প্রতিনিধিত্ব করা হয়.
এই বাকি সম্ভবত হয় হিসাবে আপনি আশা করবে.
>> সুতরাং আসুন আপ ঢালু দিন অসুবিধা এখনো আবার.
এবং এই সময়, এর কিছু কটাক্ষপাত করা যাক আসলে যে অস্তিত্ব অন্যান্য ধরনের তথ্য.
তাদের মধ্যে একজন হল, যা অভিধান হয় পাইথন অভিধান অনুরূপ.
এটি একটি হ্যাশ টেবিল থেকে কিছুটা অনুরূপ সি এটি মূলত কী একটি ম্যাপিং হয়
যেখানে কী স্ট্রিং হতে পারে.
আর আপনি ঐ কি সন্ধান যখন, ঐ কি একটি মান থাকবে.
সুতরাং এটা পুরোপুরি একটি অ্যারের না কিন্তু পরিবর্তে, আরো ঘনিষ্ঠভাবে যুক্ত
একটি হ্যাশ মানচিত্র বা একটি হ্যাশ টেবিল থেকে.
>> এর এই অনুমিত হয় কিভাবে দেখতে দিন আসলে আমরা আগে কাজ
সোর্স কোড নিজেই ঢোকা.
আমি শুধু এই রান, সত্যিই কিছুই ঘটবে.
আমি আশা করছি যে এটা আমাকে বলছে নিম্নলিখিত ধরনের কিছু প্যারামিটার.
তাই আমি প্রদান করতে যাচ্ছি এটা কিছু সমস্যা সেট নাম,
তাই pset0, হয়তো আমি 100 পেয়েছেন.
এবং pset1, আমি একটি 5 পেয়েছে.
এবং তারপর পরীক্ষায় প্রথম, আমি আসলেই বেশ ভাল করেছেন এবং 30 পেয়েছিলাম.
আর ওহো, আমি এখানে একটি স্থান আঘাত.
>> আমি লিখুন আঘাত, আপনি দেখতে পারেন এটা কিছু গুনতি সঞ্চালিত হবে.
এটা gradebook তিনটি বলেছেন বাংলাদেশের, pset1, pset0, পরীক্ষার.
এবং gradebook হয়েছে এই নির্দিষ্ট গড়.
তাই আবার, আমরা কাজ করছি এই gradebook ধারণা নিয়ে,
কিন্তু আমরা iterating চালিয়ে যাচ্ছেন আমাদের ফাংশন জটিলতা সঙ্গে.
>> সূত্রপাত এ সুতরাং, আমরা ঠিক করছি একটি ফাংশন তৈরি করতে যাচ্ছে যে
ব্যবহার মুদ্রণের জন্য দায়ী.
আর এই প্রস্থান আছে যেটি ফাংশন শুধু
জোরপূর্বক আবেদন প্রস্থান.
এই কিছু হয় না যে আপনি iOS app এর মধ্যে ব্যবহার করতে হবে.
এই, এই ক্ষেত্রে, শুধুমাত্র হয় একটি কমান্ড লাইন আর্গুমেন্ট সঙ্গে.
পরবর্তী আমরা Xcode প্রতি মর্মন্তদ শুরু করব.
কিন্তু এই একটি কমান্ড নির্দিষ্ট বেগবান লাইন শৈলী প্রোগ্রাম.
>> এর কিছু কটাক্ষপাত করা যাক এখানে মজার জিনিষ.
এর মাত্র কয়েক দেখি আকষর্ণীয় সম্ভবত উল্লেখ করতে
যে আমার ফাংশন হয় বাংলাদেশের সংখ্যা মুদ্রণ,
আপনি আমি যে তালিকা ছিল যে প্রত্যাহার করা হতে পারে items-- pset1, pset0, এবং পরীক্ষার.
আপনি আসলে দ্রুত এবং সহজেই করতে
একটি যা gradebook, গ্রহণ করে কি ও মূল্যবোধ রয়েছে যা অভিধান.
কী সব দিয়ে খুঁজুন এখানে ডট কী পদ্ধতি,
এবং তারপর, এই joinWithSeparator ব্যবহার তারপর কি সব নিতে হবে, যা
আমরা টাইপ করেছে যে, pset1-- বা দুঃখিত, pset0, pset1, এবং exam--
এবং তাদের একসঙ্গে কনক্যাটেনেট একটি কমা এবং একটি স্পেস ব্যবহার
এক দীর্ঘ স্ট্রিং তৈরি করতে.
এই যোগদান অপারেশন শুধু বিস্ময়কর নয় প্রেক্ষিতে বিভিন্ন দরকারী.
আর তাই এটি এই joinWithSeparator হয়.
>> আর এই যে এক জিনিস নয় বেগবান 1 থেকে বেগবান 2 পরিবর্তন.
একটি একবার ঘটেছিল পাইথন style-- আপনি হন তাহলে
Python-- একটি পাইথন সঙ্গে পরিচিত শৈলী স্ট্রিং পদ্ধতি যোগদান.
কিন্তু যে আর নেই বেগবান 2 ক্ষেত্রে.
আপনি যদি চান তাহলে এই ব্যবহার করতে চান স্টাফ একটি অ্যারের কনক্যাটেনেট
একসঙ্গে একটি স্ট্রিং সঙ্গে.
>> তাই সম্ভবত তারপর আমাদের আগে গড়ে আলোচনা,
এটি একটি সামান্য বিট আরো ইন্দ্রিয় তোলে আমাদের গড় ফাংশন নির্ধারণ করার জন্য
বরং একটি ঐচ্ছিক ডবল হতে শুধু একটি সুস্পষ্ দ্বিগুণ.
আমরা যে ছিল কারণ অস্বাভাবিক অবস্থা যেখানে,
কি gradebook আসলে যদি এটি মধ্যে কোন মান আছে?
কি গড় ফেরত পাঠাবেন?
>> ছোটকে স্নেহ করবে সি আপনি কিছু কাজ হবে
মত, একটি প্রহরী মান উপলব্ধ মত 0.0, বা হয়তো একটি ঋণাত্মক সংখ্যা,
অথবা কিছু আসলে ঠিক প্রতিনিধিত্বমূলক কিছু ত্রুটি শর্ত ছিল যে
এবং আপনি সম্ভবত আসলে হবে না যে গড় হিসাব করার ক্ষমতা.
ভাল একটি নির্দিষ্ট সৌন্দর্য ঐচ্ছিক টাইপ যে কাজ করতে হবে.
আর আমি এখন এই সব কথা বলার অপেক্ষা রাখে না, কিন্তু করছি আসলে এই optionals ব্যবহার করে না.
কিন্তু আমরা শুধু যে দেখতে পাবেন আমরা গড় সেট করতে পারেন যেখানে মিনিট
যাতে একটি ঐচ্ছিক ডাটা টাইপ করা এটা আসলে তারপর কিছু তথ্য, ফেরৎ যদি
আমরা যে তথ্য আসতে হবে.
অন্যথায় আমরা ফিরে আসতে হবে Nil, এই বলে যে
কোন অর্থপূর্ণ গুনতি আছে.
>> এর অন্য কিছু থেকে স্থানান্তরে যাত্তয়া যাক.
এখান থেকে তাই আমরা এ খুঁজছেন করছি কমান্ড লাইনে এই সব উদাহরণ.
কিন্তু সত্যিই আপনি যাচ্ছেন কি সাথে ডিল করা Xcode হয়.
আর সম্পর্কে চমৎকার জিনিস এক Xcode হয়, এবং বিশেষভাবে বেগবান,
আমরা এই আছে জিনিস একটি খেলার মাঠ বলা.
ও একটি খেলার মাঠ হয় না সব একটি iOS অ্যাপ্লিকেশন এ.
কিন্তু এটা আপনি পরীক্ষা করতে পারবেন একটি খুব সহজ ভাবে বেগবান সঙ্গে.
আপনি আপনার কোড সব টাইপ করতে পারেন.
এটা চমত্কারভাবে এখানে হাইলাইট সিনট্যাক্স.
যদি আপনি একটি নতুন ফাইল তৈরি হলে, তা জিজ্ঞাসা করবে যদি আপনি একটি খেলার মাঠ তৈরি করতে চান তাহলে.
কিন্তু খেলার মাঠের সম্পর্কে চমৎকার জিনিস যে, আপনার উইন্ডোর ডান হয়
এটা আসলে আপনি প্রদর্শন করে আপনার কোড থেকে আউটপুট.
আমি নিচে স্ক্রল, তাই যদি আমরা তা দেখতে পারেন কোড বিভিন্ন লাইনের আউটপুট
আসলে হতে হবে.
>> তাই এই ক্ষেত্রে, আমরা চলুন নির্দেশ অল্পমাত্র বিট পরিবর্তন
এবং সত্যিই যে কিছু বিষয়ে কথা বলা এই উচ্চ পর্যায়ের উপায় গুরুত্বপূর্ণ
ক্ষিপ্রগতি, এটা ও পরিচালনা প্রযোজ্য এই ধারণা.
এবং সম্ভবত আপনি এই দেখা করেছি জাভাস্ক্রিপ্ট একটি সামান্য বিট.
আপনাদের মধ্যে যারা যে জন্য CS50 হয়, প্রযোজ্য
এরকম খুব জনপ্রিয়, খুব ভালো উপায় হয় আধুনিক ভাষায় উচ্চ পর্যায়ের কিছু.
কিন্তু তারা এও ধরনের কঠিন প্রথমবার আপনার মাথার চারপাশে মোড়ানো.
আপনি এই সময়ে খুঁজছেন যদি তাই প্রথমবার, এটা ঠিক আছে.
শুধু সোর্স কোড তাকান এবং দেখুন আপনি বাড়ীতে এটা চিন্তা করতে পারেন যদি.
>> তাই এই ক্ষেত্রে, যে বলা যাক আমরা বহিঃপ্রকাশ অনেক তৈরি করতে চান
কিছু নির্দিষ্ট মান দিয়ে.
তাই এই ক্ষেত্রে আমি একটি ফাংশন তৈরি করতে পারেন.
আমি শক্তি এটা কল যাচ্ছি জীবনে 2 যার একমাত্র উদ্দেশ্য
কিছু ইনপুট এবং ডবল নেওয়া হয় এটা, এবং যে মূল্য ফেরত.
আমি এখানে যে লক্ষ্য করুন তথ্য এক ধরনের গ্রহণ.
এটা একটি পরিবর্তনশীল নামক এক্স হতে যাচ্ছে.
এটা টাইপ ডাবল এর.
আর আমি এখানে একটি ডাবল ফিরে যাচ্ছি.
আর আমি শুধু কাজ করতে যাচ্ছি একটি খুব অকপটে, সুন্দর
এই মান দ্বিত্ব সাদাসিধা ভাবে.
আর আমি আপনাকে কেন এই দেখাব শুধু এই একটি দ্বিতীয় মধ্যে দরকারী.
>> আমরা এই পরিসীমা আছে এখানে লক্ষ্য করুন আবার. 1 কিছু, বিন্দু জন্য
যার মানে বিন্দু বিন্দু, 2, এই লুপ দুইবার চালানো হবে.
কিন্তু এই একটি ডামি পরিবর্তনশীল প্রতিনিধিত্ব করে.
এটা আমি সত্যিই যাচ্ছি না মানে যে কোন জায়গায় যে ভেরিয়েবল ব্যবহার করা
এই লুপ এর ভিতরে.
আমি শুধু এই লাইন চান কোড দ্বিগুণ চালানোর,
জানা প্রয়োজন ছাড়া যে সীমার মান.
>> এই ক্ষেত্রে আমি ফলাফলের চলমান করছি তাই বার যা মূলত, দুবার x
আমি এই মান squaring করছি মানে হল যে.
আর এই ঘটবে আমরা আশা করতে চাই কাজ.
2 পাওয়ার, একটি মান ক্ষণস্থায়ী 2.0 আমাদের 4 একজন আউটপুট দেয়.
10,24 জন্য 3.2 কাজ.
>> এখন আমরা একটি অনুরূপ করতে পারেন 3 শক্তি জন্য জিনিস.
কিন্তু এখন শুধুমাত্র পরিসীমা পরিবর্তন.
1 ডামি পরিবর্তনশীল জন্য 3 মাধ্যমে, 3 বার সংখ্যাবৃদ্ধি
এবং একই জিনিস করে.
>> তাই এই সামান্য কল্পিত মনে হতে পারে.
কিন্তু একটি গুরুত্বপূর্ণ আছে এখানে জিনিস যা
এই সময়ে খুঁজছি হয় দুটি ফাংশন আছে,
আলাদা করে শুধুমাত্র এক জিনিস, যা সীমার মধ্যে এই মান.
এই দুটি সম্পর্কে অন্য সব কিছুর ফাংশন, 3 শক্তি এবং 2 শক্তি,
হয়, আসলে, অভিন্ন কারণ তারা একই ভাবে কাজ করে.
>> এই সময়ে, একটু তাই এলার্ম বেল যাওয়া বন্ধ করা উচিত.
আশা রাখি, আপনি কি বলছে তা, আপনি কি জানেন, এই একটি সামান্য বিট মতানুযায়ী
প্রচেষ্টার অনুলিপি মত.
সম্ভবত একটি উপায় যে আমি চাই আছে এই সব সমীকরন হতে
এবং একটি ফাংশন প্রদান অথবা একটি ফাংশন তৈরি করে
ঠিক আমি ছাড়া চান না স্পষ্টভাবে এটি টাইপ করার প্রয়োজন.
আর এই কি শক্তি একটি বন্ধের আমাদের কাজ করতে পারবেন.
তাই আসুন এই কটাক্ষপাত করা যাক.
এবং আমি একটি দম্পতি ব্যয় করব এই প্রথম মিনিট, এই কারণ
ক্ষিপ্রগতি জন্য বেশ গুরুত্বপূর্ণ.
আমরা এই সব সময় দেখতে.
আমরা একটি ফাংশন নির্ধারণ করতে যাচ্ছেন.
এটা powerOf বলা যেতে যাচ্ছে.
এটা একটা গ্রহণ করতে যাচ্ছে পরামিতি int- এ টাইপ Y বলা.
কিন্তু রিটার্ন টাইপ কটাক্ষপাত.
রিটার্ন টাইপ, হয় প্রথম বন্ধনী, ডাবল ডাবল তীর.
এই ফাংশন, যার মানে এই ফাংশন powerOf,
একটি ফাংশন ফিরে না.
একটি ডবল গ্রহণ করা হয় এবং একটা ডবল ফিরে.
সুতরাং যে পাগল ধরনের শব্দ হতে পারে, কিন্তু এর একটি সামান্য বিট নিচে স্ক্রল দিন
এবং দেখুন সেখানে কি ঘটছে দেখুন.
আমরা এই ফাংশন powerOf ভেতরে আছেন.
আমরা একটি নতুন ফাংশন তৈরি করছি exponentiator বলা,
কিন্তু এটা কি কোন ব্যাপার না.
>> এই হয়েছে যে লক্ষ্য X এর একটি ইনপুট মান.
আর এটি একটি ডবল মধ্যে গ্রহণ করা হয় এবং একটা ডবল ফিরে.
এবং এই একই কোড যে আমরা 2 এর মান যে ছাড়া, উপরে দেখেছি
3 বা মান, যে যে সীমার মধ্যে আবদ্ধ ঊর্ধ্ব,
দিয়ে প্রতিস্থাপিত করা হয়েছে Y এর এই মূল্য, যা
প্রাথমিক পরামিতি ছিল আমাদের powerOf ফাংশন.
এবং এই সময়ে, আমরা exponentiator আসতে.
আমরা ফাংশন ফিরে করছি.
>> এটা কোন ধরনের একটু মন ফুঁ মত.
কিন্তু এর কি কল্পনা করা যাক আমি এই ফাংশন কল যখন powerOf
এবং 2 ভালো তা কিছু মান প্রেরণ.
এর মানে হল এই যে হয় আমি এখন মূল্য আছে
এই মান, যার মানে Y জন্য 2, এই exponentiator ফাংশন মধ্যে Y
যে মান 2 হতে হবে.
কিন্তু আমি এই ফিরে যাচ্ছি exponentiator ফাংশন.
>> সুতরাং বেগবান আমি বলেছেন তা লক্ষ্য এই ক্ষেত্রে তৈরি করেছেন.
বর্গাকার, এটি একটি সংজ্ঞা হয় দিন একটি ডবল গ্রহণ করে যে একটি ফাংশন
এবং একটা ডবল ফেরৎ.
আমি একটি ফাংশন তৈরি করেছেন স্কোয়ার কিছু যে
ঠিক এই প্রক্রিয়া ব্যবহার.
এবং সত্যিই ঘটছে কি এটা এই ফাংশন ফিরে না যে
exponentiator, কিন্তু এই মূল্য Y এটি ভেতরে আবৃত করা হয়.
আর তাই এখন প্রত্যেক সময় আমি এই ব্যবহার পরিবর্তনশীল এই ধ্রুবক বলা
বর্গাকার, এটা যাচ্ছে একটি ফাংশন হিসাবে আচরণ করে.
আর তাই আমি তারপর যে পরিবর্তনশীল কল করতে পারেন আমি একটি ফাংশন কল করবে,
এবং এটা শুধুমাত্র একটি সংখ্যা প্রেরণ, এই ক্ষেত্রে 3 ভালো.
আর আমি তখন এই মান বর্গক্ষেত্র হবে.
তাই 3 তারপর হবে ছক আমরা এখানে দেখতে পারেন, 9 হয়ে.
>> সত্যিই পাগল, কিন্তু এই এখন আমার সুযোগ দেয়
অন্যান্য powerOf ফাংশন তৈরি করতে.
আমি ঠিক আছে, এখন আমি চাই, বলতে পারেন ভালো লেগেছে একটি নতুন ফাংশন তৈরি করতে, powerOf (3),
এবং একটি মধ্যে যে সংরক্ষণ ধ্রুব বলা ঘনক.
আর এখন ঘনক একটি হতে যাচ্ছে যে তারপর হবে পৃথক ফাংশন
ইনপুট এবং ঘনক হিসাবে কিছু মান নিতে পারে আমরা নিচের লাইন দেখতে পারেন মূল্য
এখানে.
2 এর ঘনক 8 ফলে যাচ্ছে.
>> আশা করছি বেশ ঝরঝরে স্টাফ.
আপনি আগে এই দেখা করেছি.
আমি প্রযোজ্য দেখব করতে উত্সাহিত এবং একটি সামান্য বিট আরও এই তদন্ত.
এটা আমরা সত্যিই অনেক শক্তিশালী উপাদান দেখতে হচ্ছে জাভাস্ক্রিপ্ট এবং কিছু অন্য ভাষায়.
এটা সত্যিই গুরুত্বপূর্ণ পাশাপাশি API গুলি বুঝতে
আমরা শুধু এই একটি দ্বিতীয় মধ্যে পাবেন যে.
হ্যাঁ?
>> শ্রোতা: যখন আপনি কি powerOf (2), বন্ধনী, এবং তারপর
অন্য বন্ধনী, অন্য ইনপুট আপনি মূলত বর্গ প্রতিস্থাপন করছেন.
| DAN AMRMENDARIZ: তাই চেহারা এখানে খুব শেষ লাইন এ.
এটা আসলে সম্পূর্ণভাবে সম্ভব আপনি প্রস্তাব হিসাবে chaining যে না.
সুতরাং powerOf (5) আমরা চলুন যে মানে এখানে আপ 5 একজন exponentiator আছে.
তাই এই মূলত হতে যাচ্ছে পঞ্চম ক্ষমতায় 4 হিসাবে একই জিনিস,
আমরা একটি exponentiating তৈরি করেছি, কারণ পঞ্চম ক্ষমতায় কাজ,
এবং আমরা শুধুমাত্র পার করছি যে মান 4 ফাংশন.
আর আমরা যে মান পেতে আমরা, 1024 আশা যে.
শ্রোতা: এবং এটি একটি নয় এটা সহজ করে তোলে, তাই নাম
, যাই হোক না কেন বর্গ পড়া.
>> | DAN AMRMENDARIZ: রাইট, ঠিক.
আমি শুধু এটা করা তাই আগে এখানে তাই একটি ধ্রুবক মধ্যে
এটা যে সহজ করে যে নাম ব্যবহার করা.
হ্যাঁ?
>> শ্রোতা: এই প্রসঙ্গে powerOf, এটা অংশ
প্রোগ্রামিং ভাষা উপায় আপনি উল্টোদিকে
[শ্রবণাতীত] এর মধ্যে powerOf মনে?
| DAN AMRMENDARIZ: তাই এই ক্ষেত্রে, powerOf
কেবল নাম আমি এখানে আপ সংজ্ঞায়িত যে ফাংশন.
সুতরাং এটা সহজাত নয় ভাষা নিয়ে,
কিন্তু এর পরিবর্তে, এটা ঠিক আছে একটি ফাংশন
যে নাম আমি যে নাম দিতে, কারণ.
অন্য কোন প্রশ্ন?
ঠিক আছে.
>> এখন এই মহান.
কিন্তু আপনি একটি দেখতে যাচ্ছেন না অবসান ফাংশন অনেক যে
আপনি নির্ধারণ যেখানে ভিতরে, এই মত হয় এক ফাংশন অন্য ফাংশন.
এবং যদি আপনি এটি করতে পারেন.
কিন্তু এটা কোন ধরনের নয় সত্যিই প্রয়োজন, তাই না?
আমি এই সংজ্ঞায়িত না কেন ভালো লেগেছে ফাংশন বলা exponentiator
এবং তারপর অবিলম্বে এটি ফেরত.
কেন সম্ভব নয় আমি শুধু অবিলম্বে এই ফাংশন আসতে?
>> এবং সত্য, এই অবিকল হয় নামক একটি ধারণা পিছনে ধারণা
বেনামী ফাংশন, যেখানে বেনামী ফাংশন আসলে না
তারা কারণ একটি নাম আছে এক আছে প্রয়োজন হবে না.
আর তাই এই ক্ষেত্রে, 7B মধ্যে, আমরা সঠিকভাবে যে খুঁজে পেতে পারেন.
এটা সব একই কোড এর ঠিক একই জিনিস আছে
কিন্তু এখন আমরা তাই এটি সামান্য পরিবর্তন করেছি যে এই powerOf ফাংশন অবিলম্বে
একটি ফাংশন আয়.
ফিরে আসার পর যে লক্ষ্য, একটি খোলা কোঁকড়া বন্ধনী আছে.
এটা এই ইনপুট ডাবল আশা করা হচ্ছে.
এটা যে আউটপুট ডাবল আশা করা হচ্ছে.
এবং তারপর শব্দ কোড নিজেই আলাদা.
সুতরাং এই একটি বেনামী ফাংশন.
এটা আসলে, যেহেতু একটি নাম নেই আগে এটা exponentiator বলা হয়েছিল.
কিন্তু আমরা শুধু সত্যিই দেখেছি exponentiator পড়ুন না
যে ফাংশন বাইরে.
সুতরাং এটা কোন ব্যাপার না.
সুতরাং এই বেনামী ফাংশন এটা অখ্যাত কারণ তথাকথিত,
কিন্তু এটি এখনও ব্যবহৃত হচ্ছে এই কোড প্রেক্ষাপটে.
>> আমি পরবর্তী কয়েক জনকে আশা চালিয়ে যাচ্ছে
আপনার মনের অল্প ফুঁ.
আমরা এই আরও প্রক্রিয়া সহজ করতে পারেন.
বলেছ ছিল কারণ তার আগে নির্দিষ্ট
সম্ভবত আমরা আসলে দ্বারা জানি এই কোড থেকে inferring, কি
এই কোডের আউটপুট হতে যাচ্ছে.
এবং সত্য, এই বেনামী ফাংশন, আমরা আসলে কি ধরনের ডেটা আবিষ্কার করতে পারেন.
>> তাই এই এক, আমরা আর স্পষ্টভাবে উল্লেখ করা প্রয়োজন
হচ্ছে যে তথ্য ধরণ এই ফাংশন থেকে ইনপুট এবং আউটপুট
কারণে কয়েক জন্য.
এক আমরা এ পর্যন্ত, সংজ্ঞায়িত করেছি যে এনক্লোজিং ফাংশনের প্রোটোটাইপ,
তথ্য এই বেনামী কি ধরনের ফাংশন ইনপুট এবং আউটপুট উচিত.
এবং অপরজনের আমরা কোড থেকে অনুমান করতে পারেন
এখানে আমরা নিচে গ্রহণ করা হয় যে ডাবল টাইপ যে ইনপুট
এবং একটা ডবল ফিরে.
>> আমরা স্পষ্টভাবে না আছে এখানে যে লক্ষ্য করুন আর্গুমেন্ট নাম সংজ্ঞায়িত
যে এই ফাংশন গ্রহণ করা হয়.
আর তাই আমরা উল্লেখ করতে পারেন দেখতে $ 0, $ 1 করে যারা পরামিতি,
তাই এবং তাই ঘোষণা, তার উপর নির্ভর করে ব্যবহৃত যে পরামিতি সংখ্যা
এই ফাংশনে.
>> এই কমান্ডের সাহায্যে আপনি যাচ্ছি এমন কিছু বিষয় যা অনেক এই খোলা কোঁকড়া বন্ধনী দেখতে
সংজ্ঞা একটি দ্বারা অনুসরণ $ 0, এবং তারপর কিছু অপারেশন,
এবং তারপর একটি বদ্ধ কোঁকড়া বন্ধনী.
যে একটি বেনামী ফাংশন যে এই অপারেশন সম্পাদন করে.
এটা এই প্যারামিটার যেখানে আছে এটা টাইপ অনুমিত হয়.
যে প্রথম প্যারামিটার $ 0.
এব w কিছু কিছু অপারেশন যে $ 0 ঘটছে.
>> শ্রোতা: ডলার চিহ্ন তাই মূলত পরামিতি মানে
এবং 0 প্রথমটি মানে?
| DAN Armendariz: একদম ঠিক.
সুতরাং ডলার চিহ্ন মূলত মানে পরামিতি, এবং 0 প্রথমটি মানে.
কিন্তু এটা বিশেষভাবে কাজ করে আমি নামক নি যেখানে এই ক্ষেত্রে
আমার বেনামী ফাংশন আর্গুমেন্ট.
>> শ্রোতা: পার্ল বা কিছু আছে সেখানে এই ডলার চিহ্ন, ডলার 0?
| DAN Armendariz: আমি দুঃখিত, যা আছে?
শ্রোতা: পার্ল আছে এই ডলার 0, ডলার 1 টি
| DAN Armendariz: আমি নই পার্ল সঙ্গে খুব পরিচিত,
কিন্তু পিএইচপি কি ভেরিয়েবল সংজ্ঞায়িত ডলার চিহ্ন উপর ভিত্তি করে.
এব w কিছু কিছু প্রত্যেক হতে পারে এই মত বৈশিষ্ট্য আছে.
বস্তুত, ক্ষিপ্রগতি borrows একটি এই মত বৈশিষ্ট্য অনেকটা
অন্য ভাষায় অনেক থেকে.
আমরা এর প্রতি Python- র নির্দেশ করে দেখুন.
টাইপ-এর এই সংজ্ঞা OCaml থেকে আসে বলে মনে হয়.
আর আমরা এর মাত্র আভা আছে বিভিন্ন ভাষায় প্রচুর থেকে কাপড়.
যে সুন্দর এক বেগবান সম্পর্কে কিছু
এটা ভাল অনেক সময় লাগে যে হয় প্রত্যেক গুচ্ছ থেকে ধারনা
এবং তাদের সব একসঙ্গে shoehorns এক সুপার ভাষা.
বস্তুত, যদি আপনি আমাকে অনুমতি আপনার মন ফুঁ অবিরত,
তাই আমরা এই সব কাজ করে আসছি.
আমরা সম্ভবত এই একটি সামান্য প্রক্রিয়া সহজ করতে পারেন অবশ্যই, যে বুঝতে দ্বারা বিট,
ক্ষিপ্রগতি একটি exponentiating হয়েছে ফাংশন সালে নির্মিত.
আমি ডারউইন, আমদানি যদি যা শুধু গ্রন্থাগারের যে
এখন, এই ফাংশন বলা POW বৈশিষ্ট্য আমি ফাংশনের আমার ক্ষমতা প্রক্রিয়া সহজ করতে পারেন
অনুসরণ করা হবে.
এটা ফেরত করা যাচ্ছে এই বেনামী ফাংশন.
>> কিন্তু এখন এই হল কিভাবে সহজ তাকান.
এটি একটি বেনামী ফাংশন যে কিছু ডেটা টাইপ গ্রহণ করা হয়,
এবং এটি এক হতে যাচ্ছে যুক্তি বিশেষভাবে,
টাইপ ডাবল এর যে $ 0 উল্লিখিত.
এটি একটি টাইপ ডাবল আসতে যাচ্ছে.
কিন্তু ফিরতি বিবৃতি এখন অন্তর্নিহিত হয়.
>> আর এটা এই সঠিক শৈলী যে সুইফট খুব, খুব প্রচলিত
সব জায়গায় বেশি.
আমরা এই দেখতে যাচ্ছেন বেগবান সব সময়.
তাই আমি এই সব দেশ করছি আপনি এই সিনট্যাক্স কারণ.
এটি খুবই সাধারণ এটা যার মানে, দেখতে
একটি বেনামী ফাংশন যে সম্পাদন করা হয়
এই যুক্তির উপর কিছু অপারেশন.
এবং একটি অন্তর্নিহিত ফেরা যায়.
সুতরাং এটা একেবারে একই জিনিস আমাদের অধিকার এখানে, এই বলার জন্য.
>> এই তরঙ্গায়িত কারণ বন্ধনী, একটি ফাংশন
আমরা এই অপারেশন সম্পাদন করছি প্রথম যুক্তি উপর.
আমরা যে ফিরে চলুন.
কিন্তু এই বাইরের দিকেই প্রত্যাবর্তন যে সমগ্র ফাংশন ফিরে,
যে পুরো বেনামী ফাংশন আমরা শুধু তৈরি করেছি যে.
অন্য কোন প্রশ্ন?
ঠিক আছে, আমি জানি না আপনাকে বলছি, এই জন্য প্রস্তুত হয়
কিন্তু আমরা বেগবান সঙ্গে এমনকি পাগল হয়ে যেতে পারে.
তুমি প্রস্তুত?
ঠিক আছে, এই মহান.
>> এখন আমরা আসলে ক্ষমতা আছে যাও, বেগবান, কারণ কিভাবে মডুলার এর
প্রোটোকল ভিত্তিক কিভাবে এবং এটা করার জন্য, হয় আমাদের নিজস্ব freaking অপারেটরদের নির্ধারণ.
এই ক্ষেত্রে ভালো, আমরা ছিল কোন ভাল exponentiation-- জন্য অপারেটর,
কিছু ক্ষমতা সঞ্চালনের জন্য.
কিন্তু আমি, বেগবান, একটি নতুন নির্ধারণ করতে পারবেন অবিকল যে যে অপারেটর.
তাই এই ক্ষেত্রে আছে এখানে সিনট্যাক্স একটি গুচ্ছ.
আর আমি আপনি এটি তাকান করার অনুমতি পাবেন বাড়ীতে আপনি এই তাকান.
কিন্তু আমরা এই পোতা হয় সংজ্ঞা অপারেটর, **, যা পরে, আমাদের অনুমতি দেবে
কি যে সংজ্ঞা দ্বারা ফাংশন ** আসলে
একটি বাম হাত গ্রহণ করে পাশ এবং একটি ডান দিকে,
এবং তারপর যে সূচক ফিরে যাও ডান দিকে বাম দিকে.
>> আর তাই এখন হঠাৎ আমি সব একটি নতুন লব তৈরি করেছেন.
সুতরাং 2 ** 3 তৃতীয় 2 মানে ক্ষমতা.
[মন ফুঁ শব্দ] এই দ্বারা নিজেই, আপনার মত হতে চেষ্টা করা উচিত
ঠিক আছে, স্ক্রু সি আমি যাচ্ছি বেগবান সব পথ.
এটা অসাধারণ.
এই অত্যন্ত চমত্কার.
>> যদিও এই একটি বড় উদাহরণ.
কিন্তু আমি একবার বাইরে না আছে এই উদাহরণের আসলে
আমার নিজের অপারেটর সংজ্ঞায়িত.
কিন্তু তা সত্ত্বেও, এটা দেখায় একটি বেগবান শক্তি অনেক
এবং এই আসলে কেন সত্যিই খুব শান্ত.
হ্যাঁ, ঠিক আছে?
শ্রোতা: আপনি হন আপনার নিজস্ব অপারেটর সংজ্ঞা,
যদি আপনি দূর্ঘটনাক্রমে না জানি না কিভাবে চেষ্টা করুন এবং যে একটি অপারেটর তৈরি
সি সামহোয়্যার ইন, মত বেগবান কোথাও লুকানো,
একটি অখ্যাত এক মত যে আপনি আগে দেখা যায় না পারে.
>> | DAN Armendariz: আপনি চেষ্টা করছেন আপনার নিজস্ব অপারেটরদের নির্ধারণ করতে,
সংজ্ঞা ঝুঁকি নেই একটি বিদ্যমান অপারেটর উপর এক.
বিবরণের একটি স্তর যে মধ্যে যায় আমি মনে করি আমরা ধরে যেতে সময় আছে মনে হয় না.
কিন্তু এটা একটা বিরাট ঝুঁকি.
আর সেই কারণে কেন আসলে আমি ক্যারেট প্রতীক ব্যবহার করা হয়নি, যা
আমরা শক্তি টাইপ করছি যখন, আমরা সাধারণত 4 একটু ক্যারেট 5 বা কিছু ব্যবহার
যে মত, শুধু আমরা যখন বন্ধুদের বা যাই হোক না কেন Gchatting.
কিন্তু যে ক্ষেত্রে, আসলে যে সংঘর্ষের হত.
আর তাই আমি ঠিক কারণ এটা এড়ানো আমি এই ক্ষেত্রে জানা ঘটেছে
যে সংঘর্ষের কারণ হবে.
>> ঠিক আছে.
এখন দুর্ভাগ্যবশত, এর জন্য গত সাত মিনিট,
আমি ফুঁ রাখা আছে আপনার মন অল্প.
তাই আমাকে যদি আপনি প্রদর্শন করার অনুমতি কিছু অন্যান্য বিষয় হিসাবে ভাল.
>> আমরা আপনাকে এই ধারণা প্রকাশ করেছেন এই বেনামী ফাংশন হচ্ছে,
যে আপনি অনুমতি এইসব প্রযোজ্য চারপাশে ধরনের ফাংশন পাস.
আপনি তাদের ফিরে আসতে পারেন.
আপনি তাদের নিপূণভাবে ব্যবহার করা যাবে.
আপনি পাগল জিনিস সমস্ত প্রকারের করতে পারেন.
>> কিন্তু অন্য একটি জিনিস যে দরকারী হতে হবে
ক্ষমতা, বিরোধিতা করতে হয় যারা ফাংশন ফিরে যাও
একটি ফাংশন, একটি ফাংশন পাস আরেকটি ফাংশন একটি প্যারামিটার হিসেবে.
আপনি পৃথিবীতে কেন চিন্তা করা যেতে পারে আমি যে ভালো কিছু করতে চায়?
>> ওয়েল, আমি চাই যে বলা যাক এই অপারেটর নিতে যে আমি
কাজ খুব একটা কঠিন তৈরি এবং প্রয়োগ করতে বিভিন্ন সংখ্যার একটি গুচ্ছ এটা
একটি অ্যারের মধ্যে.
তাই এই ক্ষেত্রে আমি একটি অ্যারে আছে 1, 4, 7, 2, 5, 10, 56 ইন্টিজার.
এবং আমি তাদের সব দ্বিগুণ করতে চান.
পথ যে আমরা সাধারণত would এটা শুধু লিখতে হয় না
লুপ জন্য একটি সহজ যে তাদের সর্বাঙ্গে iterates
এবং কিছু সাজানোর সঞ্চালন তাদের বর্গ অপারেশন,
একটি নতুন মধ্যে যারা নতুন মান inputting পরিবর্তনশীল, অথবা বরং, এখানে একটি নতুন অ্যারে.
আর আউটপুট মান ফলে, তারপর ঐ অ্যারে সব হয়
অথবা বরং ঐ সব উপাদান এখন ছক.
>> এবং আমরা একই কাজ করতে পারে এটা cubing জন্য জিনিস,
কিন্তু একটু এলার্ম বেল উচিত যাওয়া বন্ধ করা
হয়তো আছে যে বলার অপেক্ষা রাখে না কিছু উপায় যে আমরা
এই একটু একটু অজটিল পাবে.
এবং বাস্তবিকই আছে.
আমরা কি তৈরি করতে পারি তাহলে আমাদের পারবেন যে একটি ফাংশন
একটি শিকারী, একটি ফাংশন হিসাবে, গ্রহণ করতে?
তাই এই ক্ষেত্রে, একটি নিতে এই আর্গুমেন্ট তাকান.
আমরা দ্বিগুণ একটি তালিকা গ্রহণ করতে যাচ্ছেন.
এবং তারপর আমরা চলুন একটি ফাংশন গ্রহণ করতে
যে চ একটি পরিবর্তনশীল নামক যাচ্ছে একটা ডাবল নেয় এবং একটি ডাবল ফেরত দিতে.
আর পুরো আউটপুট এই সমগ্র ফাংশন
বলা ম্যাপার যাচ্ছে ডবল নামক একটি অ্যারে আসতে.
>> এই তারপর আমাকে সম্ভব হবে কি যে তালিকায় পুনরুক্তি হয়
এবং এখন একই জিনিস, কিন্তু প্রতিটি যে ফাংশন প্রয়োগ
যে তালিকায় পৃথক মান.
তাই আমি সত্যিই কি চ জানি না.
এটা আমার কাছে কোন ব্যাপার না.
কিন্তু এটি একটি ডবল লাগে তাই যতদিন, , এটা কিছু অপারেশন সম্পাদন করে
এবং তারপর ফেরৎ একটি ডাবল, আমি তারপর হবে
জুড়ে যে ফাংশন মানচিত্র সক্ষম তালিকার প্রতিটি উপাদান.
>> এবং প্রোগ্রামিং এই টাইপ হয় বলা উচ্চমাধ্যমিক ক্রম ফাংশন,
যেখানে আমরা ফাংশন পার করছি কাছাকাছি পরামিতি হিসেবে
এবং ফাংশন সঙ্গে জিনিসগুলি.
এটা এই সব করার মত সাজানোর আমরা CS50 মধ্যে শিখেছি করেছি যে ধারনা
এবং সাজানোর তাদের গ্রহণ পরবর্তী স্তরে.
আর এই সব CS51 শৈলী উপাদান.
আর তাই আমরা গভীরতার মধ্যে যাবেন যে মত শ্রেণীতে আরো.
>> কিন্তু এই হল এখানে গুরুত্বপূর্ণ আমরা কারণ
ফাংশন অনেকটা দেখতে বেগবান ব্যবহার করা হয় যে
যে মূলত আছে এই, যেখানে আমরা
কিছু সংখ্যা, সংখ্যা কিছু অ্যারে.
আমরা যে পাস করতে যাচ্ছেন আমাদের ম্যাপার মধ্যে অ্যারে.
আর আমরা উদাহরণ চলুন কিছু ফাংশন, যা পাস
আমরা ইতিমধ্যে এখানে আপ সংজ্ঞায়িত করেছি.
এটি বর্গাকার হতে যাচ্ছে.
আর আমরা তখন চলুন ঐ সংখ্যার সব বর্গক্ষেত্র
এবং এখানে এই ফলাফলের মধ্যে যে সংরক্ষণ.
>> তাই এই ক্ষেত্রে আমরা সংজ্ঞায়িত করেছি আমাদের নিজস্ব ফাংশন ম্যাপার বলা.
কিন্তু ঠিক এই জিনিস, হয় আসলে, ক্ষিপ্রগতি পাতাটা.
বিভিন্ন আছে ফাংশন মানচিত্র বলা.
একটি মানচিত্র ফাংশন আছে, একটি ফাংশন কমাতে আছে,
এবং একটি ফিল্টার ফাংশন আছে, মূলত ফাংশন প্রয়োগ যা
একটি প্রতি একক উপাদান কোনো না কোনোভাবে তাদের পরিবর্তন করতে তালিকায়.
>> শ্রোতা: আপনি রূপান্তর করা হয়, যেহেতু তাই অন্য একটি বিন্যাসে তথ্য
একটি ফাংশন মাধ্যমে
| DAN Armendariz: রাইট.
হ্যাঁ, তাই ফাংশন আমরা গ্রহণ করছি যে
কিছু উপায়ে তথ্য রূপান্তর করা হয়.
এই ক্ষেত্রে, আমরা হয় ছিল এটা squaring, অথবা আমরা এটা cubing ছিল,
অথবা সত্যিই, আমরা সঞ্চালন করতে পারে এ সব কোন অপারেশন.
>> কিন্তু আমার তখন কিভাবে আপনাকে দেখাতে যাক বাস্তবে দেখুন যাচ্ছে.
এবং আবার, আমি একটি চলমান করছি সময় বিট. তাই আমি নই
ওভার যেতে সক্ষম হতে যাচ্ছে বিস্তারিত এখানে সোর্স কোড.
কিন্তু আমি তা করতে উত্সাহিত.
আমরা যত তাড়াতাড়ি তা পোস্ট করব সম্ভব এই আলোচনা.
>> কিন্তু আপনি এই কটাক্ষপাত যদি, আমরা সংখ্যার একটি তালিকা আছে অনুমান,
এই সংখ্যার একটি অ্যারের পরিবর্তনশীল নামক সংখ্যার.
তারপর আমরা এই সম্পাদন করতে চান ঐ সংখ্যার উপর ফিল্টার অপারেশন.
ফিল্টার তাই একটি উচ্চতর অর্ডার ফাংশন যে
এছাড়াও একটি অ্যারে এবং একটি ফাংশন গ্রহণ করে.
আর যে ভাষার উপাদান অ্যারে, এটা যে কাজটি করে থাকে.
>> যে ফাংশন আয় যদি এটা ঠিক যে, যে আইটেমটি রাখে.
যে ফাংশন ফেরৎ মিথ্যা, এটা যে আইটেমটি দূরে ছোঁড়ার.
এবং তারপর এটি একটি তালিকা ফেরৎ যে সব তৈরি করা হয়
ফিল্টার করা হয়েছে ঐ আইটেম.
>> তাই অন্য কথায়, এই হল একই ধারণা, Gradebook.
আমরা বাংলাদেশের বিভিন্ন থাকতে পারে এই মান নামক সংখ্যার মধ্যে.
100, এবং 70, এবং হতে পারে 40, তাই এবং তাই ঘোষণা.
এই ফিল্টার আছে বিজ্ঞপ্তি এই যে অন্বিত চিনি যে
একটি বেনামী ফাংশন জন্য.
এটি বলার অপেক্ষা রাখে একটি বেনামী ফাংশন যে আমি গ্রহণ করছি যে পরামিতি
এটা যদি হতে যাচ্ছে 70 তার চেয়ে অনেক বেশী
তাহলে এই যে, যার অর্থ, সত্য ফিরে আসবে যে আইটেমটি এই ফিল্টারের মধ্যে রাখা হবে.
সুতরাং আসুন একটি সামান্য বিট হতে দিন এই সম্পর্কে আরো কংক্রিট.
আমি সংখ্যার এই অ্যারে থাকে এবং এটা, 100, 70, এবং 40 এর গঠিত
আমি এই ফিল্টার সঞ্চালন যারা প্রতিটি এক অপারেশন.
সুতরাং যে প্রথম এক 100 এর এই মান.
100 বা সমান বৃহত্তর 70, সত্য যা
100 রাখা হয় যে মানে এই অ্যারের এই নতুন কপি.
70 এছাড়াও প্রেরণ করা হয়.
কিন্তু 40 নয়.
সুতরাং passingCount কি ফিরিয়ে দেওয়া হয় উপাদান 100 এবং এর অ্যারে 70--
100, কমা, 70.
যারা শুধুমাত্র দুটি ছিল রাখা হয়েছে জিনিস.
তাই কারণ আমি দ্রুত মাধ্যমে গিয়েছিলাম উচ্চ অর্ডার এই ধরনের অনেক
এই যে সাধারণ কারণ জিনিস আপনি বেগবান প্রশংসনীয় দেখতে হবে যে জিনিস
ঘন ঘন, কিছু অপারেশন সম্পাদন করা হয় এই বেনামী ফাংশন সিনট্যাক্স ব্যবহার.
>> কিছু শান্ত স্টাফ আছে.
সুইচ, ক্ষিপ্রগতি সত্যিই শক্তিশালী হয় আমি শুধু পাগল, পাগল শক্তিশালী মত মানে.
আপনি সুইচ ব্যবহার করতে পারেন, এবং আপনি আসলে তাদের আবেদন করতে পারেন
ধরনের পাগল, যা রেঞ্জ, যাও, এবং যে মত শৌখিন জিনিস না.
>> কিন্তু গত কয়েক মিনিটের মধ্যে, আমি বেশ দূরে এগিয়ে লাফালাফি করতে চান
এবং আপনি কিভাবে একটি নির্দিষ্ট উদাহরণ দেখাতে আমরা বেগবান ব্যবহার iOS অ্যাপ্লিকেশন তৈরি করতে পারেন.
তাই যখন আপনি কাজ করছেন এই, আপনি নিতে হবে
একটি আপেল এর উপর at-- দেখুন নথিপত্র, তারা
সত্যিই ভাল টিউটোরিয়াল অনেক আছে আপনার প্রথম অ্যাপ্লিকেশন তৈরি করার জন্য.
আর আমি না করতে উত্সাহিত যে তারা আপনাকে নিতে কারণ
কি সব পদক্ষেপ ঠিক করতে মাধ্যমে একটি iOS অ্যাপ্লিকেশন তৈরি করতে ক্লিক করুন.
>> কিন্তু এখানে আমরা এই iOS অ্যাপ্লিকেশন আছে.
এবং এটি একটি চমত্কার সহজ অ্যাপ্লিকেশন সত্যিই.
আমি এই রান, আমাকে দেখান দিন আপনি কি এটা ভালো দেখায়.
এটা মূলত আছে সমস্ত এটা ইন্টারনেট একটি JSON ফাইল থেকে pulls
যে আমি একটি সার্ভারে সংরক্ষণ করা আছে.
আর যে JSON ফাইল অনুমতি যে ইমেজ সংজ্ঞায়িত
আমার উপর, মাধ্যমে তারপর চক্র আমার অ্যাপ্লিকেশন, আমার ওয়েব সার্ভার থেকে ছবি.
>> তাই আমি এখানে getNextImage আছে.
এটা ইন্টারনেট থেকে একটি ইমেজ লোড এবং তারপর পর্দায় এটি প্রদর্শন করা হয়.
>> সুতরাং এটা বেশ সহজ.
কিন্তু এখানে লক্ষ্য প্রদর্শন করা হয় আমরা কিছু একত্রিত করতে পারেন কিভাবে
CS50 এর আধুনিক কয়েক সপ্তাহ থেকে একটি প্রকৃত iOS আবেদন.
অন্য কথায়, সম্ভবত এক ইন আপনি কি করতে চান করবে জিনিষ
একটি iOS অ্যাপ্লিকেশন আছে যে ইন্টারনেট থেকে তথ্য টান করতে পারেন
এবং ব্যবহারকারীর কিছু তথ্য প্রদর্শন.
যে সম্পূর্ণরূপে বিন্দু এখানে এই সোর্স কোড.
>> সুতরাং সম্পর্কে বলেন করা অনেক আছে কিভাবে প্রকৃত iOS উন্নয়ন করতে.
ক্রেজি সিনট্যাক্স অনেক নেই আমরা বেশ এখনো দেখা যায় না যে
একটি বর্গ মত, একটি বর্গ আসলে কি.
আমরা মূলত উপেক্ষা করতে পারেন সময় জন্য হচ্ছে যে.
>> কিন্তু আমরা অন্তর্ভুক্ত আছে যে লক্ষ্য এই জিনিষ বিভিন্ন মধ্যে
আমরা ইতিমধ্যে মত দেখা করেছি যে নির্দিষ্ট নাম আছে ফাংশন.
এবং আমরা যারা দিতে যখন সঠিক নাম ফাংশন
যে বাস্তবিকই, iOS দ্বারা আশা করা যায় এই একটি সামান্য বিট ঐন্দ্রজালিক মতানুযায়ী.
কিন্তু আপনি একটি তৈরি করার সময় iOS অ্যাপ্লিকেশন, সেখানে
নির্দিষ্ট ফাংশন নাম আছে নিজে ফোন বলা হয়
আবেদন চেষ্টা লোড হচ্ছে হয় যে আসলে প্রক্রিয়া তৈরি করতে
আপনার অ্যাপ্লিকেশন সঞ্চালিত হয়.
তাই আবার, একটা অনেক আছে যে আমি আমাদের জন্য যাতে এখানে ওভার গ্লস আছে
এই বিষয়ে বিশেষভাবে কথা বলতে.
কিন্তু আমি সম্ভবত তাকান করতে উত্সাহিত অন্যান্য iOS সেমিনার, কিন্তু কিছু
না যা টিউটোরিয়াল অনলাইন বর্ণনাকারী অনেক ভালো কাজ
সুনির্দিষ্ট তথ্য.
>> কিন্তু আমরা জিনিষ কয়েক দেখতে পারেন যে এখানে কোড থেকে আকর্ষণীয় হয়.
আমরা যদি বিবৃতি আছে যে লক্ষ্য করুন.
যাইহোক, এক গুরুত্বপূর্ণ বিবৃতি যদি সম্পর্কে জিনিস
যে প্রায় প্রথম বন্ধনী বুলিয়ান অভিব্যক্তি ঐচ্ছিক.
কিন্তু কোঁকড়া ধনুর্বন্ধনী, ঐচ্ছিক নয় কোন ব্যাপার কিভাবে কয়েক বা কোড অনেক লাইন
আপনি যদি একটি বিবৃতি আছে.
আপনি যদি বিবৃতি একটি থাকতে পারে না বেগবান কোঁকড়া ধনুর্বন্ধনী ছাড়া.
>> আর এই, ভাল, ধরণের মূর্খ.
কিন্তু যে জন্য ঐতিহাসিক কারণে আছে.
এটা নিজের থেকে আপনি সংরক্ষণ করতে অনুমিত এর.
উদাহরণস্বরূপ জন্য ভালো, আপনি করতে পারেন না যে কাছাকাছি কোঁকড়া ধনুর্বন্ধনী নিষ্কাশন
বিবৃতিতে তাহলে.
যারা আসলে প্রয়োজন হয়.
তাই আমি আপনাকে উত্সাহিত এক নজর দেখে নাও.
কিন্তু আরও একটি আছে আমি চাই যে গঠন
বেগবান সম্পর্কে আপনাকে দেখাতে যে তুলনায় বেগবান 2.0 নতুন
বেগবান পুরোনো সংস্করণগুলি যাও, যা নিম্নলিখিত হয়.
আমি এখানে লাগাতে হয়নি যেখানে এর দেখতে দিন?
>> সুতরাং এই ফাংশন বলা fetchJSON, এই ফাংশন
যে JSON pulling জন্য দায়ী শুধু তাই ঘটবে যা একটি URL থেকে ফাইল
আমার CS50 আইডিই চলমান হবে.
আমি শুধু, এ্যাপাচি শুরু সেখানে আমার JSON ফাইল করা,
এবং তারপর আমি যে টান করতে সক্ষম নই ব্যবহার করে ইন্টারনেট থেকে তথ্য
এই ফাংশন এবং এই URL টি, যা ফোন দ্বারা উপলব্ধ করা হয়.
এটি একটি দ্বারা উপলব্ধ গ্রন্থাগারের আপনি যখন ব্যবহার করে
আপনি কিছু iOS অ্যাপ্লিকেশন উন্নয়ন করছেন.
>> এই অস্বাভাবিক নেই যে এখানে লক্ষ্য করুন সিনট্যাক্স কনস্ট্রাক্ট গার্ড নামে.
এবং সত্যিই এই সব হয় বেগবান যাচাই একটি উপায়
কিছু জিনিস আছে আপনি আগে দেখা হয়েছে
ফাংশন বাকি সাথে এগিয়ে যান.
তাই আমি ব্যবহার, আছে পারে এই ঐচ্ছিক টাইপ,
আমি URL দ্বারা পাওয়া যেতে পারে এই NSURL ফাংশন চলমান
এবং একটি URL মধ্যে যে সংরক্ষণকারী ধ্রুব, এবং তারপর চেক
ইউআরএল Nil ছিল, দেখতে তা কারণ একটি ঐচ্ছিক টাইপ আসতে যাচ্ছে.
এটা কিছুই না হয়, তাহলে আমি চাই একটি ত্রুটি প্রিন্ট আউট এবং তারপর ফিরে.
>> কিন্তু এর পরিবর্তে, তা পাহারা দেয় আমাদের, খুব জিনিস যে হয় না
কিন্তু এটা যে নিশ্চিত আসলে ক্ষেত্রে যে URL
সঠিকভাবে NSURL দ্বারা সেট করা হয়েছে.
আর এটা হয়, তাহলে এই ওভার অগ্রাহ্য, এবং এটা
আপনার সাথে এগিয়ে যেতে অনুমতি দেবে URL সঠিকভাবে সংজ্ঞায়িত করা হচ্ছে.
কিন্তু এটা যদি হয় তাহলে যে URL সঠিকভাবে সংজ্ঞায়িত করা হয়,
এই ফাংশন কোনো ত্রুটি উত্পন্ন হলে বা অন্য কিছু অপ্রত্যাশিত জিনিস
আসলে, এই গার্ড কনস্ট্রাক্ট ঘটে তারপর আউটপুট যে ত্রুটি করতে পারবেন
এবং অবিলম্বে আসতে.
হ্যাঁ?
>> শ্রোতা: সুতরাং ধরনের একজন তারপর অন্যথায় যদি মত?
| DAN Armendariz: এটা কোন ধরনের একটি হ্যাঁ, তারপর অন্যথায় যদি মত
এই URL তারপর যে ছাড়া এই নীচের সবকিছু জন্য নির্ধারিত.
এটি তারপর এই গার্ড পাসের আসলে তথ্য দিয়ে পূরণ করা হবে
এবং অবশিষ্ট উপভোগ্য আপনার ফাংশন সোর্স কোড.
তাই আমি আপনাকে করতে যাচ্ছেন যে সন্দেহ পাশাপাশি এই গার্ড দেখতে শুরু.
এবং যে সম্পর্কে সচেতন থাকুন.
>> তাই শুধু অন্য একটি দম্পতি এ খুঁজছেন কিছু এখানে এই অধিকার কি,
আপনি কি মনে করেন না, শুধু তার উপর ভিত্তি করে আমরা আগে যে বিষয়ে কথা বলছি?
>> শ্রোতা: এটা তালিকায় রান করব মনে হয়?
>> | DAN Armendariz: সুতরাং যে বন্ধ.
এই আমরা সংজ্ঞা হয় যে একটি ফাংশন.
আর আমরা যে ফাংশন আহরণ করা হয় এখানে এই একটি ফাংশন আর্গুমেন্ট হিসাবে.
>> শ্রোতা: Nil [শ্রবণাতীত] যদি না.
সুতরাং এটি ঠিক আছে, তালিকা আছে?
>> | DAN Armendariz: ত্রুটি Nil নয় যদি, তাই যে আমি স্ক্রল করতে হবে, যাতে হচ্ছে ÑÑ.
ওয়েল, আমি সত্যিই দেখতে পারলাম না যাক এখানে ডান স্ক্রল.
ত্রুটি হচ্ছে না যে একটি আর্গুমেন্ট এই বেনামী ফাংশন প্রেরণ.
এটি একটি বেনামী ফাংশন.
এটা কোন নাম আছে.
কিন্তু আমরা এই তিনটি গ্রহণ করা হয় আর্গুমেন্ট, তথ্য, প্রতিক্রিয়া, এবং ত্রুটি.
আর তা-ই, অকার্যকর ফেরত যাচ্ছে এটা কিছু ফেরত যাচ্ছে না.
আর এই বিষয়বস্তু যে ফাংশন.
এবং তারপর আমরা যে ভিতরে এক্সেস আছে এই আর্গুমেন্ট প্রতিটি ফাংশন.
>> সুতরাং এটি একটি ঘূর্ণিবায়ু এর ভাষা সফর.
কিন্তু আমি এই সাথে আশা করি, আশা করছি আপনি নিতে হিসাবে
টিউটোরিয়াল কিছু কটাক্ষপাত বেগবান সঙ্গে সামঞ্জস্যপূর্ণ iOS উন্নয়ন নির্দিষ্ট,
আপনি যান, বিশেষ করে যদি অ্যাপল এর ডেভেলপার ওয়েব page--
তারা সত্যিই অনেক ভাল আছে টিউটোরিয়াল আপনি শুরু করতে.
কিন্তু কথা আশা শুধু এই ঘন্টা বাক্য গঠন সম্পর্কে নিজেই দিয়েছেন
আপনি যথেষ্ট যে দিয়ে শুরু করতে.
>> আমরা এই উৎস সব পোস্ট করতে হবে সেমিনারে ওয়েবসাইটে কোড
যত তাড়াতাড়ি সম্ভব, এবং স্লাইড হিসাবে তাই আপনি ঐ সমস্ত জন্য একটি রেফারেন্স আছে.
আপনার প্রকল্পের সঙ্গে কিন্তু সৌভাগ্য.
এবং আসার জন্য আপনাকে অনেক ধন্যবাদ.
>> [সাধুবাদ]