TGViewer
Programming ∀ Programming ∀ @programming_everyone · 1.35K subscribers
Post #3949 497
Haskell yoki Rustga o'xshagan tillarda optional tiplarga duch kelasiz. Imperativ tillardagi NULL o'rniga ko'proq manashunday abstraksiyalar ishlatilinadi.

Haskell: Maybe
Rust: Option

Bu abstraksiyalar bizga optional valuelar bilan ishlagani kerak, imperativ tillarda aytganda nullable valuelar bilan. Ammo bilamizki imperativ tillarda null hamma joyda osilib yuradi, niz nullable valueni olib yana boshqa funksiyaga bervorishingiz mumkin vaxakazo hullas hamma joyda null tekshirish potensiali mavjud.

Immutable tilda ishlar ekansiz imperativ tillardagi odatlarni sekin chetga surish kerak. Optional narsalarni eng boshidan hal etish kerak. Bo'lmasa o'zingizni Option tipni ham qurib o'tirasiz.

Bu draft PRda aynan shu muammoni yechimini ko'rsak bo'ladi: https://github.com/bleur-org/bleur/pull/17/changes

Ammo muammo bundanda kengroq ekan, Biz Configuration degan tipda Empty degan varianti olib tashladik va endi bizda Configuration tipida empty case yo'q. Lekin muammo shundaki uning Template yoki Collection tiplariga kerakli valuelar Collection tipi construct bo'lish vaqtida bo'lmasligi mumkin.

Manashu sababli konstruksiyalar yanayam teparoqdan refactor qilinishi kerak, PRda aynan todo qolib ketgan.

PR o'ziga etibor bersangiz birgina empty case sababli qancha code kerakmas bo'lib qoldi. Shu sababli ham bunday holatlarda o'zingizni custom empty caseni qurmaslik kerak. Eng boshidan aniq ajratib olish kerak hammasini shunda ortiqcha code bo'lmaydi, ortiqcha unwrap ham bo'lmaydi. Vaqtim bemalol bo'lganida PR yakunlab qo'yaman va natijani ulashaman.

Maxsus empty caselar bazida bo'lishi mumkini ammo bu boshqa mavzu bizni contextga umuman aloqador emas.

Manashu ham misol bo'ladiki biz language feauturelardan foydalanishni o'rganishimiz kerakligiga. Albatta hammasini sekin sekin o'rganamiz.
  • 🔥 2
  • ❤ 1
  • 🤯 1
More from @programming_everyone
  1. Oct 6, 2026Post #4367
  2. Oct 6, 2026Yana bir prikol narsa aytaymi ? Manashu literal tiplar evaziga typescriptda daje tiplar bi…
  3. Oct 6, 2026Typescriptda bunaqa mazahizm qilsa bo'ladi. JSchialrga IQtest. typeT misolidaka agar FromN…
  4. Oct 6, 2026Orwell has nothing to do with it.
  5. Oct 6, 2026An illustrated history of the calculator. https://blog.coredump.cx/p/a-brief-history-of-co…
  6. Oct 5, 2026Creative memory management.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →