我最近读到Enums
和tuples
具有数学结构,它们分别称为和和产品类型,类似于算术。
我可以理解枚举是sum
类型但不能将元组理解为产品类型。
enum Add<T, U> {
case left(T)
case right(U)
}
因此,如果U
有三个成员且T
有五个,那么Add<T, U>
将有8个,但我无法提供产品类型的示例。
此外,
答案 0 :(得分:0)
Enum代表两种情况 - 值可以是其中一种情况。它就像一个被称为逻辑和的替代方案。我不认为它们可以被视为产品类型。
元组表示获取所有值时的情况 - 它是一个集合的元素,它是元组包含的每个元素的域的carthesian乘积。这就是为什么您可以将它们视为产品类型的原因。因此,假设你为enum案例做了一个像元素那样的元组,那就是&#39;(T,U)&#39;将有15种可能的变体,因为每个T可以与U - 3 * 5 = 15
中的每一个组合答案 1 :(得分:-1)
&#34; enum&#34;的简单示例在swift 3.0
enum names
{
case Swift
case Closures
}
var lang = names.Closures // Call .Closures case
lang = .Closures
switch lang
{
case .Swift:
print("Welcome to Swift")
case .Closures: //call this case
print("Welcome to Closures")
default:
print("Introduction")
}
输出:欢迎使用Closures
示例-2:
enum Climate
{
case India
case America
case Africa
case Australia
}
var season = Climate.America // call .America case
season = .America
switch season
{
case .India:
print("Climate is Hot")
case .America:
print("Climate is Cold") // call this case
case .Africa:
print("Climate is Moderate")
case .Australia:
print("Climate is Rainy")
default:
print("Climate is not predictable")
}
产出:气候寒冷