‫Tekrar hoş geldiniz.
‫Bu videoda soylulara bakacağız.
‫Ve asiller diğer programlama dillerinde gördüğünüz bir kavramdır.
‫Örneğin, Swift bunları oldukça kapsamlı bir şekilde kullanır ve orada seçenekler olarak adlandırılırlar.
‫Yani bir değere sahip olabilen veya bir değere sahip olmayan değişkenlerdir.
‫Yani iki seçenek var, değil mi?
‫Yani bir şeyin ya bir değeri vardır ya da bir değeri yoktur ve genellikle bu null ya da not'tur.
‫O zaman biraz yaratalım.
‫Bu arada, bu bir veri türüdür, bu nedenle veri türü boş olabilir veya olmayabilir.
‫Ve genellikle bu, burada görebileceğiniz gibi Nullarbor ve örneğin int 32 türündeki Nullarbor gibidir.
‫Yani genel olarak böyle yazarsınız, nasıl yazardınız.
‫32'de bir Nullarbor olurdu.
‫Yani değerlendirilen değerler kabaca -2 milyardan artı 2 milyara kadar olabilir.
‫Öyleyse devam edelim ve bunları oluşturalım.
‫Dolayısıyla, bir roman oluşturmak için veri türünden sonra bir soru işareti eklemeniz yeterlidir.
‫Yani az önce yazdığım gibi bir tamsayı Nullarbor'a sahip olmak istiyorsanız, sadece son soru işaretini kullanacaksınız
‫ve ben sadece bu numarayı bir olarak adlandıracağım ve null olacak.
‫NOM iki adını verdiğim bir tane daha oluşturalım ve bunu NULL olarak ayarlayalım.
‫Ve gördüğünüz gibi, burada bir hata alıyoruz, bu yüzden şikayet ediyor, null'u int'e dönüştüremeyeceğini söylüyor
‫çünkü null bilinmeyen bir değer türü değil.
‫Yani bir tamsayıya null atayamazsınız.
‫Burada C dediğiniz şey budur, ancak dokuzuncu satırda yaptığımız gibi global bir tamsayıya null atayabilirsiniz.
‫Pekala, bir tane daha oluşturalım ve bu iki numara olacak ve 1337 1337 olacak.
‫Bu şekilde ilerler ve bir dirsek oluşturursunuz.
‫Gördüğünüzde ya null'dur ya da bir değeri vardır.
‫Aynı şey çiftler için de geçerlidir.
‫Yani çifte soru işareti.
‫Üç numara yeni bir çift ve bunun gibi bir soru işareti.
‫Bu şekilde çoklu çift atayabilirsiniz.
‫Yani bu boş olacak ya da burada dört numara 3 olacak. 14157.
‫Yani bu PI.
‫Aynı şey Boolean'lar için de geçerlidir.
‫Yani bu bir çoklu bool ve Boo Vol'un bunun gibi yeni bir bool soru işareti olduğunu
‫söyleyeceğim.
‫Şimdi kontrol edelim.
‫Bunu ekranda gösterelim ve ne elde ettiğimize bakalım.
‫Küresel sayılarımıza bakın ve sıfır bir kullanacağız.
‫İki ve üç.
‫Ve bu bir numara olacak.
‫Uyuşuktan uyuşuk.
‫Üç ve dört.
‫Ve şimdi, elbette, şikayet ediyor çünkü dizimi burada bitirmem gerekiyor.
‫Tamam.
‫Ve bool'umuzu da görüntüleyelim.
‫Yani c w çoklu boolean değeridir ve bool vol.
‫Şimdi tamamdır.
‫O halde kontrol f 5'i deneyelim.
‫Ve gördüğünüz gibi bilinebilir sayılarımız hiçbir şey değil.
‫Yani boş bir alan bile değil.
‫Sadece hiçbir şey.
‫Bir, üç, üç, yedi, hiçbir şey ve 31415, yedi.
‫Ve null boolean değeri hiçbir şey değildir.
‫Gördüğünüz gibi, hiçbir şey olmayabilir ve şikayet etmiyor.
‫Yani içinde hiçbir değer olmasa da yine de sorun yok.
‫Programımızı çökertmiyor ya da bunun gibi şeyler.
‫Aynı şeyi bilemeyeceğiniz bir tamsayı ile yapmaya çalışırsanız, beş numara adında
‫bir tamsayı oluşturalım ve bu şekilde yapalım.
‫Yani onu başlatmadık ve o da boş, değil mi?
‫Yani buna bu şekilde erişmeye çalışırsam orada hiçbir değer yok.
‫Ve ben burada beş numarayı kullanacağım.
‫Şuna bir bakalım.
‫Beşliyi kontrol et.
‫Ve gördüğünüz gibi, derleme hatalarımız var, bu yüzden bunu durduramıyoruz bile çünkü beş numaralı atanmamış yerel değişkenin
‫kullanıldığını söylüyor.
‫İşte bütün mesele bu.
‫Boş olabilen veya boş olamayan bir değişken oluşturursunuz ve bu program için tamamen uygundur.
‫Çökmeyecek.
‫Peki bunu neden kullanıyorsun?
‫Noble'ın arkasındaki fikir ne olabilir?
‫Peki, bir sürü veriyle çalışan bir programınız olduğunu düşünün, yani kullanıcı verileri var ve bunları veritabanından
‫alıyor.
‫Ve bazı değerler veya bazı sütunlar için hiçbir giriş yoktur.
‫Diyelim ki kullanıcı adlarımız var.
‫Kişisel adımız veya adımız, soyadımız, ardından doğum günümüz ve benzerleri var.
‫Tüm bu bilgiler veritabanımızda saklanabilir, ancak çoğu kullanıcı için yalnızca kullanıcı adına sahibiz.
‫Adları, soyadları elimizde yok.
‫Elimizde şifre ya da e-posta adresi gibi bir şey yok.
‫Elimizde sadece kullanıcı adı var ama yine de programımızın doğru çalışmasını istiyoruz.
‫Bu yüzden sadece iyi olan soyluları kullanacağız.
‫Eğer değer yoksa.
‫Programımızı çökertmeyecekler.
‫Öyleyse bunun çok ama çok genel bir örneğini yapalım.
‫Burada çoklu bool olacak bir bool kullanacağım ve buna Ismael adını vereceğim ve NULL olarak ayarlayacağım.
‫Ve burada sadece posta olup olmadığını kontrol edeceğim, boş mu yoksa gerçekten doğru mu?
‫Yani eğer doğruysa, user is mail gibi bir şey yazalım, eğer mail yanlışsa, user is female
‫gibi bir şey söyleyeceğiz.
‫Son olarak da cinsiyet seçilmedi ya da cinsiyet bulunamadı gibi bir şey söyleriz
‫ve öyle oluruz.
‫Şimdi devam edebilir ve bu tür bir yaklaşım kullanabilirsiniz.
‫Doğru.
‫Ve burada bunu bir sonraki satıra koyacağım.
‫Ve eğer bu kadar iyi koşarsak, elbette cinsiyet seçilmeyecek.
‫Ve benim durumumda, programım bunu söyledikten hemen sonra kapanacaktır.
‫Ve hala da var.
‫Bir yerde bir hata var ve.
‫Bunu nasıl anlayabilirim?
‫Şey, buradaki.
‫Bu yüzden bunu hala metnimde tutuyorum ve ona erişmeye çalışıyor.
‫Ama eksik olan bir şey var, bu yüzden çalışmıyor.
‫Pekala, şimdi tekrar deneyebiliriz.
‫F beşi kontrol edin ve bilinebilir sayılarımız şunlardır.
‫Hiç sorun değil.
‫Ve sonra burada, cinsiyet seçilmedi.
‫Tamam.
‫Bunların hepsi iyi şeyler.
‫Peki ya bir safı saf olmayan bir tipe dönüştürmek istiyorsanız?
‫Peki, devam edelim ve bunu deneyelim.
‫Burada saf bir çift yaratalım.
‫Beş numara diyelim ve 13 olacak. 1 ve sonra iki katı ya da aslında buna altı numara diyelim, çünkü burada
‫hiç kullanmadığımız beş numara var, ama onu orada bırakacağım.
‫Kimseye zarar vermiyor.
‫Yani yedi numara boş olacak.
‫Peki, bunları nasıl bilgili olmayan bir türe dönüştürebilirim ve bilgili olmayan bir çift olacak bir NUM
‫sekiz oluşturacağım.
‫Yani genel bir ikili, değil mi?
‫Null olamaz veya ona null atayamayız.
‫Ve şimdi sadece num altı'nın null'a eşit olup olmadığını kontrol ediyoruz, o zaman num sekiz 0 olacaktır. 0.
‫Aksi takdirde sekiz rakamının altı rakam altı olması gerektiğini söyleyeceğiz.
‫Ancak burada bir sorunumuz var çünkü gördüğünüz gibi, sadece atayamayacağımı girdik, çift soru işareti
‫türünü dolaylı olarak çift'e dönüştüremez diyor ve açık dönüşüm var.
‫Yani bir alçı eksik mi?
‫Yapmamız gereken de bu.
‫Bu yüzden onu bir double'a dönüştürmemiz gerekir çünkü şimdi değilse, num six dahili olarak bir double'dır, bu yüzden
‫bir double değer içerir.
‫Bu yüzden bunu kullanacağım ve NUM sekiz'e atayacağım, böylece devam edebilir
‫ve NUM sekiz'in değerini num sekiz olarak görüntüleyebiliriz.
‫O halde kontrol f beş ile başlayalım.
‫Ve gördüğünüz gibi, NUM sekizin değeri 13'tür. 1.
‫Yani döküm, açık dönüşüm işe yaradı.
‫Ancak bunu yapmanın daha hızlı bir yolu var.
‫Gördüğünüz gibi, epey çaba sarf ettim.
‫Buna ihtiyacımız vardı.
‫Eğer bir LS ise, bunun için kullanabileceğimiz null birleştirme operatörü vardır.
‫Yani sekiz rakamının altı rakamına eşit olduğunu söyleyebiliriz.
‫Soru işareti.
‫Soru işareti 8. 53 örneğin.
‫Yani eğer num altı boşsa, devam edin ve 8 ekleyin veya girin. 53 ve eğer değilse, o zaman başka bir şey yapın.
‫Şimdi yapacağım şey, başka bir satır eklemek ve num eight'in değeri gibi bir şey
‫yazmak olacak ve aslında bunu kopyalayalım çünkü buna iki kez ihtiyacımız var ve çok fazla yazmak istemiyorum, bu yüzden şimdi
‫devam edelim ve bunu tekrar deneyelim.
‫Aradaki farkı görelim.
‫Ve gördüğünüz gibi, NUM sekizin değeri 13'tür. Sekiz rakamının 1 değeri 13'tür. 1 ve NUM sekizin değeri
‫8'dir. 53.
‫Peki burada ne oldu?
‫Burada, 50. satırda görmezden gelinen şey şuydu, şuydu, 8'i atadım. 53'e.
‫Ama şimdi göründüğü gibi, ben altı yaşındayım.
‫Bir değeri vardı ve alındı.
‫Yani 6'nın bir değeri olduğu için, sadece 13 aldı. 1 ve yedi rakamının bir değeri olmadığından,
‫sekiz rakamı artık 8'dir. 53 çünkü ona bakarsak num seven null'dur, bu yüzden ona farklı bir değer atarız.
‫Ben de öyle yapacağım.
‫Senin için kopyaladım.
‫Null daraltma operatörü.
‫Çift soru işareti.
‫Dolayısıyla, normal bir türden hareketli olmayan bir türe dönüştürmek istiyorsanız, null birleştirme operatörünü kullanabilirsiniz.