- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Hivatalos a OnePlus 13 startdátuma
- A világ aktív okostelefonjainak negyede iPhone, ötöde Galaxy
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Megjött Magyarországra a legnagyobb akkuval szerelt Redmi
- Újabb hét, újabb Galaxy S26 képek
- Huawei Mate 10 Pro - mestersége az intelligencia
- Mobil flották
- Fotók, videók mobillal
- Xiaomi 13 - felnőni nehéz
Új hozzászólás Aktív témák
-
válasz
Aethelstone
#6510
üzenetére
Itt szepen es erthetoen leirjak (az elso valaszban).
De akkor roviden en is leirom -- egy klasszikus pelda a megoldasra: Option tipus.
Ha van pl. egy fuggvenyed, ami Integer ertekkel ter vissza, akkor a fordito garantalja, hogy az Integer lesz, es nem null. Ha egy masik, alapvetoen Integert visszaado fuggvenyed nem mindig tud visszaterni Integerrel, mert pl. kivetelt dobhat, vagy ilyesmi, es nincs mit visszaadni, akkor a fuggvenyed visszateresi erteke legyen egy Option ertek, amit viszont nem tudsz Integerkent hasznalni, csak ugy, ha mindenkepp ellenorzod, hogy van-e erteke vagy sem.
Option ret = enFuggvenyem();
switch ret {
case None: print "Nincs visszateresi ertek"
case Integer(i): print "Az Integer ertek: " + i.toString()
}Sokfele megoldas van, a lenyege az, hogy nem kerulhetsz olyan szituacioba, ahol elfelejted ellenorizni, hogy valami null-e vagy sem, mert a compiler garantalja, hogy vagy tuti van ervenyes ertek, vagy leellenorizted.
Ahogy Hoare is mondja (akit gondolom nem kell bemutatni):
I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement.A lenyeg, hogy a nullreferencia nem egy szukseges rossz, hanem igazabol tok felesleges, amit a korai nyelvekbe raktak bele, hogy kicsit egyszerubb legyen megirni a compilert, es itt ragadt velunk. Csomo nyelvben (akar JVM alapu nyelvekben is) megoldottak, hogy ne legyen.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- BMW topik
- Battlefield 6
- Háztartási gépek
- Milyen CPU léghűtést vegyek?
- Fejhallgató erősítő és DAC topik
- Nem akármilyen új GeForce jöhet idén
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen autót vegyek?
- mefistofeles: Az elhízás nem akaratgyengeség!
- További aktív témák...
- MSI RTX 3070 8GB GDDR6 GAMING Z TRIO Eladó!
- ThinkPad T14s Gen2i 14" FHD IPS i7-1165G7 16GB 512GB NVMe magyar vbill ujjolv IR kam új akku gar
- Ps2,Ps3,Ps4,Ps5,Xbox360,Xbox one,Xbox series,PSP játékok
- Apple iPhone 16e 128 GB Black Garancia Beszámítás Házhozszállítás
- X1 Carbon 9th 14" FHD+ IPS i5-1135G7 16GB 256GB NVMe magyar vbill ujjolv IR kam gar
- Alkalmi vétel! Akció! Számla + garancia! Apple Macbook Pro 14 - Apple M3 Pro Chip!
- AKCIÓ!! HP Zbook Studio G8 i7-11850H 32GB 512GB Nvidia Quadro T1200 400NIT, 100% sRGB Garis!
- Vállalom Xiaomi Okoskamerák szoftveres javíttását
- AZONNAL KÉSZLETRŐL! AMD Ryzen 7 9800X3D 64GB 6000MHz RAM 2TB Gen4 SSD RTX 5090 32GB GDDR7 1200W
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest


