‫ยินดีต้อนรับกลับ.
‫ในวิดีโอนี้เราจะพิจารณาถึงขุนนาง
‫และขุนนางเป็นแนวคิดที่คุณเห็นในภาษาโปรแกรมอื่นๆ
‫ตัวอย่างเช่น Swift ใช้กันอย่างแพร่หลายและเรียกว่าตัวเลือก
‫จึงเป็นตัวแปรที่สามารถมีค่าหรือไม่มีค่าได้
‫มีสองตัวเลือกใช่ไหม
‫ดังนั้น บางสิ่งมีค่าหรือไม่มีค่า และมักจะเป็นโมฆะหรือไม่
‫มาสร้างกันเถอะ
‫และอีกอย่างก็คือ มันเป็นชนิดข้อมูล ดังนั้นชนิดข้อมูลจะว่างหรือไม่ก็ได้
‫และมักจะเหมือนกับ Nullarbor อย่างที่คุณเห็นที่นี่ และ Nullarbor ของประเภท int 32 เป็นต้น
‫โดยทั่วไปแล้วนั่นคือวิธีที่คุณเขียน วิธีที่คุณจะเขียนมัน
‫นั่นจะเป็น Nullarbor ใน 32
‫ดังนั้น การประเมินสามารถมีค่าได้ตั้งแต่ -2 พันล้านประมาณถึงบวก 2 พันล้าน
‫ไปข้างหน้าและสร้างมันขึ้นมา
‫ดังนั้น ในการสร้างนวนิยาย คุณเพียงแค่เพิ่มเครื่องหมายคำถามหลังประเภทข้อมูล
‫ดังนั้น ถ้าคุณอยากได้จำนวนเต็ม Nullarbor ตามที่ผมเพิ่งเขียนไป คุณจะใช้เครื่องหมายคำถามปิดท้าย
‫แล้วผมจะเรียกเลขหนึ่งนั้น และมันจะเป็นโมฆะ
‫มาสร้างอันอื่นที่ฉันเรียกว่า NOM two และตั้งค่าเป็น NULL
‫และอย่างที่คุณเห็น เราได้รับข้อผิดพลาดที่นี่ ดังนั้นจึงบ่นว่าไม่สามารถแปลงค่า null เป็น int ได้ เนื่องจากไม่ใช่หรือเป็นประเภทค่าที่ไม่สามารถทราบได้
‫ดังนั้นคุณจึงไม่สามารถกำหนด null ให้กับจำนวนเต็มได้
‫นั่นคือสิ่งที่คุณพูด C ที่นี่ แต่คุณสามารถกำหนด null ให้กับจำนวนเต็มส่วนกลาง ซึ่งเราได้ทำในบรรทัดที่เก้า
‫เอาล่ะ เรามาสร้างอันใหม่กันดีกว่า มันจะเป็นเลขสอง และมันจะเป็น 1337 1337
‫นั่นคือวิธีที่คุณจะไปข้างหน้าและสร้างข้อศอก
‫เมื่อคุณเห็นว่าเป็นโมฆะหรือมีค่า
‫เช่นเดียวกันสำหรับคู่
‫เครื่องหมายคำถามสองครั้งดังนั้น
‫เลขสามคือดับเบิ้ลใหม่และเครื่องหมายคำถามแบบนั้น
‫นั่นเป็นวิธีที่คุณสามารถกำหนดคู่แบบทวีคูณได้
‫อันนี้จะว่างหรือตรงนี้ เลขสี่คือ 3 14157.
‫นั่นคือ PI
‫และเช่นเดียวกันสำหรับบูลีน
‫มันเป็นบูลหลายตัว และฉันจะบอกว่า Boo Vol เป็นเครื่องหมายคำถามแบบบูลแบบใหม่
‫ทีนี้มาลองดูกัน
‫มาแสดงบนหน้าจอและดูว่าเราได้อะไร
‫ดูว่า ตัวเลขทั่วโลกของเราคืออะไร แล้วเราจะใช้เลขศูนย์หนึ่ง
‫สองและสาม
‫และนั่นจะเป็นอันดับหนึ่ง
‫มึนจนมึน
‫สามและสี่
‫และตอนนี้ แน่นอน มันกำลังบ่น เพราะฉันต้องจบสายที่นี่
‫ไม่เป็นไร.
‫และขอแสดงบูลของเราด้วย
‫ดังนั้น c w ค่าบูลีนหลายค่าคือ และ bool vol
‫ตอนนี้โอเค
‫ลองใช้คอนโทรล f five กัน
‫และตัวเลขที่ทราบของเรานั้น อย่างที่คุณเห็น ไม่มีอะไรเลย
‫จึงไม่เว้นแม้แต่ที่ว่าง
‫มันก็แค่ไม่มีอะไร
‫หนึ่ง สาม สาม เจ็ด ไม่มีอะไรเลย และ 31415 เจ็ด
‫และค่าบูลีนเป็นโมฆะก็ไม่มีอะไร
‫อย่างที่คุณเห็น มันไม่เป็นอะไรและไม่บ่น
‫ดังนั้นถึงแม้จะไม่มีค่าอยู่ในนั้น แต่ก็ยังดีอยู่
‫มันไม่ได้ทำให้โปรแกรมของเราหรืออะไรพัง
‫หากคุณจะลองทำแบบเดียวกันกับจำนวนเต็มที่ไม่สามารถรู้ได้ ลองสร้างจำนวนเต็มที่เรียกว่าเลข
‫5 แล้วทำแบบนั้นกัน
‫เราไม่ได้เริ่มต้นและมันก็ว่างเปล่าด้วยใช่ไหม
‫ดังนั้นจึงไม่มีค่าในนั้นหากฉันพยายามเข้าถึงสิ่งนั้น
‫และผมจะใช้เลขห้าตรงนี้
‫ลองตรวจสอบดู
‫ควบคุมทั้งห้า
‫และอย่างที่คุณเห็น เรามีข้อผิดพลาดในการสร้างดังนั้นเราจึงไม่สามารถหยุดสิ่งนั้นได้ เพราะมันบอกว่าใช้ตัวแปรท้องถิ่นที่ยังไม่ได้มอบหมายหมายเลขห้า
‫นั่นคือประเด็นทั้งหมดเกี่ยวกับเรื่องนั้น
‫คุณสร้างตัวแปรที่สามารถว่างเปล่าหรือไม่สามารถเว้นว่างได้และนั่นก็ใช้ได้ดีกับโปรแกรม
‫มันจะไม่พัง
‫และทำไมคุณถึงใช้สิ่งนั้น?
‫แนวคิดเบื้องหลังของโนเบิลจะเป็นอย่างไร?
‫ลองนึกภาพว่าคุณมีโปรแกรมที่ทำงานกับข้อมูลจำนวนมาก ดังนั้นจึงมีข้อมูลผู้ใช้และได้รับจากฐานข้อมูล
‫และสำหรับบางค่าหรือบางคอลัมน์ ก็ไม่มีรายการ
‫สมมุติว่าเรามีชื่อผู้ใช้
‫เรามีชื่อบุคคลหรือชื่อ นามสกุล แล้วเราก็มีวันเกิดเป็นต้น
‫ข้อมูลทั้งหมดเหล่านี้สามารถเก็บไว้ในฐานข้อมูลของเรา แต่สำหรับผู้ใช้ส่วนใหญ่ เรามีเพียงชื่อผู้ใช้เท่านั้น
‫เราไม่มีชื่อและนามสกุล
‫เราไม่มีรหัสผ่านหรือที่อยู่อีเมล ไม่มีอะไรแบบนั้น
‫เรามีแค่ชื่อผู้ใช้แต่เรายังต้องการให้โปรแกรมของเราทำงานอย่างถูกต้อง
‫ดังนั้นเราจะใช้พวกขุนนางซึ่งก็ดี
‫ถ้าไม่มีค่า.
‫พวกเขาจะไม่ทำให้โปรแกรมของเราขัดข้อง
‫เรามาทำให้มันเป็นตัวอย่างที่ธรรมดามากๆ ของเรื่องนั้นกัน
‫และฉันจะใช้บูลตรงนี้ ซึ่งจะเป็นบูลหลายตัว และฉันจะเรียกมันว่าอิสมาเอล และฉันจะตั้งค่าให้เป็นโมฆะ
‫และในนี้ฉันจะตรวจสอบเมลว่า เป็นโมฆะหรือว่าจริงหรือไม่?
‫ดังนั้นถ้ามันเป็นเรื่องจริง ลองเขียนบางอย่างเช่น user is mail แล้วอย่างอื่นหากเมลเป็นเท็จ เราจะพูดบางอย่างเช่นผู้ใช้เป็นผู้หญิง
‫และสุดท้าย เราก็แค่พูดบางอย่างเช่นไม่ได้เลือกเพศหรือบางทีอาจไม่พบเพศใดหรืออะไรทำนองนั้น
‫และเราเป็นอย่างนั้น
‫ดังนั้นตอนนี้คุณจึงสามารถใช้แนวทางดังกล่าวได้
‫ถูกต้อง.
‫และที่นี่ฉันจะใส่มันในบรรทัดถัดไป
‫และถ้าเราทำได้ดีแน่นอน เราจะไม่เลือกเพศ
‫และในกรณีของฉัน โปรแกรมของฉันจะปิดทันทีหลังจากที่มันแจ้งว่า
‫และฉันยังมี
‫ข้อผิดพลาดที่ไหนสักแห่งและ
‫แล้วฉันจะคิดออกได้อย่างไร?
‫ก็อันนี้นี่แหละ
‫ดังนั้นฉันจึงมีสิ่งนี้อยู่ในข้อความของฉันและพยายามเข้าถึง
‫แต่มีบางอย่างขาดหายไป ดังนั้นจึงใช้ไม่ได้
‫เอาล่ะ ตอนนี้เราลองอีกครั้ง
‫ควบคุม F Five และเราเป็นตัวเลขที่เรารู้คือ
‫ไม่เป็นไร
‫และที่นี่ไม่มีการเลือกเพศ
‫ไม่เป็นไร.
‫นั่นคือทั้งหมดที่ดีและสิ่งที่
‫แต่ถ้าคุณต้องการแปลงคนใจง่ายเป็นประเภทที่ไม่ใจง่ายล่ะ
‫เอาล่ะ ไปลองกันเลยดีกว่า
‫มาสร้างคู่ใจง่ายกันเถอะ
‫ลองเรียกมันว่าเลข 5 และมันจะเป็น 13 1 แล้วคูณสอง หรือเรียกมันว่า 6 ก็ได้ เพราะเรามีเลข
‫5 ตรงนี้ ซึ่งเราไม่เคยใช้ แต่ผมจะปล่อยมันไว้ตรงนั้น
‫มันไม่ทำร้ายใคร
‫เลขเจ็ดจะเป็นโมฆะ
‫ฉันจะแปลงสิ่งเหล่านั้นเป็นประเภทที่ไม่มีความรู้ได้อย่างไรและฉันจะสร้าง NUM แปดซึ่งจะเป็นสองเท่าที่ไม่รู้จัก
‫มันคือดับเบิ้ลทั่วไป, จริงไหม
‫ไม่สามารถเป็นโมฆะหรือเราไม่สามารถกำหนด null ให้กับมันได้
‫และตอนนี้เราแค่ตรวจสอบว่า num six เท่ากับ null แล้ว num แปดจะเป็น 0 หรือไม่ 0.
‫อย่างอื่นเราจะบอกว่าเลขแปดควรเป็นเลขหกหก
‫แต่เรามีปัญหาเพราะอย่างที่คุณเห็นว่าเราป้อนว่าฉันไม่สามารถกำหนดได้ มันบอกว่าไม่สามารถแปลงเครื่องหมายคำถามแบบคู่โดยปริยายเป็นสองเท่าและมีการแปลงที่ชัดเจน
‫แล้วคุณขาดนักแสดงหรือไม่?
‫และนั่นคือสิ่งที่เราต้องทำ
‫เราต้องแปลงเป็นดับเบิ้ลเพราะเราต้องการรู้ว่าถ้าไม่ใช่ตอนนี้ แล้ว num six ภายในจะเป็นดับเบิ้ล
‫ดังนั้นจึงมีค่าสองเท่า
‫ฉันจะใช้สิ่งนั้นและกำหนดให้ NUM แปด เพื่อให้เราสามารถแสดงต่อไปและแสดงค่าของ
‫NUM แปดคือ NUM แปด
‫เริ่มจากการควบคุม f ห้ากันก่อน
‫และอย่างที่คุณเห็น ค่าของ NUM แปดคือ 13 1.
‫ดังนั้นการแคสติ้ง การแปลงที่ชัดเจนจึงได้ผล
‫อย่างไรก็ตาม มีวิธีที่รวดเร็วกว่าในการทำเช่นนั้น
‫อย่างที่คุณเห็น มันเป็นความพยายามค่อนข้างมาก
‫เราต้องการสิ่งนี้
‫หาก LS มีโอเปอเรเตอร์การรวมศูนย์ที่เราสามารถใช้ได้
‫เราก็บอกได้ว่าเลขแปดเท่ากับเลขหก
‫เครื่องหมายคำถาม
‫เครื่องหมายคำถาม 8 เช่น 53.
‫ดังนั้นหากหมายเลข 6 ว่างเปล่า ให้เพิ่มหรือป้อน 8 53 ถ้าไม่ใช่ก็ทำอย่างอื่น
‫สิ่งที่ผมจะทำคือ ผมจะบวกอีกบรรทัดหนึ่ง และผมจะเขียนบางอย่าง เช่น
‫ค่าของเลขแปดคือ และที่จริง ลองคัดลอกมันเพราะเราต้องการมันสองครั้ง และผมไม่อยากพิมพ์ มากเสียจนตอนนี้เรามาลองกันใหม่อีกครั้ง
‫มาดูความแตกต่างกัน
‫และอย่างที่คุณเห็น ค่าของ NUM แปดคือ 13 1 ค่าของเลขแปดคือ 13 1 และค่าของ NUM แปดคือ
‫8 53.
‫แล้วเกิดอะไรขึ้นที่นี่?
‫สิ่งที่ละเลยในบรรทัดที่ 50 นี้ เพราะมันบอกว่าดี ก็ดี ฉันให้ 8 53 ไปเลย
‫แต่ดูเหมือนตอนนี้ฉันหกขวบแล้ว
‫มีค่าและมันถูกเอาไป
‫เมื่อหกมีค่า ก็แค่เอา 13 1 และเนื่องจากหมายเลขเจ็ดไม่มีค่า
‫ตอนนี้หมายเลขแปดคือ 8 53 เพราะถ้าเราดูมัน เลขเจ็ดเป็นโมฆะ ดังนั้นเราจึงกำหนดค่าอื่นให้กับมัน
‫นั่นเรียกว่าฉันกำลังจะไป
‫คัดลอกมาให้คุณ
‫โอเปอเรเตอร์การยุบค่า null
‫เครื่องหมายคำถามคู่
‫ดังนั้นหากคุณต้องการแปลงจากประเภทปกติเป็นประเภทที่ไม่สามารถเคลื่อนย้ายได้ คุณสามารถใช้โอเปอเรเตอร์การรวมค่า
‫null ได้