Sobes.tech
Junior — Middle

Millised piirangud kehtivad toorväärtustele (raw value) konkreetsetes tüüpides või keelekonstruktsioonides?

sobes.tech AI

Vastus AI-lt

Swiftis kasutatakse töötlemata väärtusi (raw values), näiteks enum-ides koos rawValue. RawValue peamised piirangud:

  • Raw väärtus peab olema sama tüüpi kõigi enum-i juhtumite jaoks.
  • RawValue tüüp peab olema kirjalik (näiteks String, Int, Character või muu tüüp, mis toetab kirjalikke väärtusi).
  • Ei ole lubatud kasutada keerukaid tüüpe või struktuure rawValue-na.
  • Kõik rawValues peavad olema enum-i sees unikaalsed.

Näide enum-ist koos rawValue-ga:

enum Direction: String {
    case north = "N"
    case south = "S"
    case east = "E"
    case west = "W"
}

Siin on rawValue string ning kõik väärtused on unikaalsed. Kui rawValue ei ole otseselt määratud, siis Int-i puhul numereeritakse automaatselt alates 0.