Sobes.tech
Junior — Middle

Aké obmedzenia existujú pre surové hodnoty (raw value) v konkrétnych typoch alebo jazykových konštrukciách?

sobes.tech AI

Odpoveď od AI

V Swift-e sa neupravenými hodnotami (raw values) sa napríklad používajú v výčtoch (enum) s rawValue. Hlavné obmedzenia pre rawValue:

  • Raw hodnota musí byť rovnakého typu pre všetky prípady enum.
  • Typ rawValue musí byť literál (napríklad String, Int, Character alebo iný typ podporujúci literály).
  • Nie je možné používať zložité typy alebo štruktúry ako rawValue.
  • Všetky rawValues musia byť v rámci enum jedinečné.

Príklad enum s rawValue:

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

Tu je rawValue reťazec a všetky hodnoty sú jedinečné. Ak rawValue nie je explicitne uvedený, pre Int budú automaticky číslované od 0.