Skip to content

Instantly share code, notes, and snippets.

@sindresorhus
Last active February 3, 2024 19:31
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save sindresorhus/895971b9711f03658931bb122a94104a to your computer and use it in GitHub Desktop.
Save sindresorhus/895971b9711f03658931bb122a94104a to your computer and use it in GitHub Desktop.
extension CaseIterable {
public static func randomCaseIterableElement(using generator: inout some RandomNumberGenerator) -> Self {
allCases.randomElement(using: &generator)!
}
public static func randomCaseIterableElement() -> Self {
var generator = SystemRandomNumberGenerator()
return randomCaseIterableElement(using: &generator)
}
}
enum Foo: String, CaseIterable {
case a
case b
case c
}
print(Foo.randomCaseIterableElement())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment