E

Swift...但仅限枚举!

关于 Swift 枚举

变量

基本字符串示例

let text: Variable = .string("Hello, World!")

基本字典示例

let dictionary: Variable = .dictionary(
	[
		.bool(false): .double(3.14)
	]
)

数组示例

let list: Variable = .array(
	[
		.bool(false),
		.string("False"),
		.dictionary(
			[
				.bool(false): .double(3.14)
			]
		),
		.int(27)
	]
)

获取值示例

if case .string(let value) = text {
	print("String: \(value)")
}

if case .array(let value) = list,
   let lastValue = value.last,
   case .int(let number) = lastValue {
	print(number * 99)
}

函数

Void 函数示例

let voidExample = Function.void {
	print("Print Lorem ipsum")
}
// ...
voidExample()

In 函数示例

let printString = Function.in { stringValue in
	guard case .string(let value) = stringValue else {
		return
	}

	print(value)
}
// ...
printString(.string("Hello, World..."))

In & Out 函数示例

let double = Function.inout { value in
	if case .int(let value) = value {
		return .int(value * 2)
	} else if case .float(let value) = value {
		return .float(value * 2)
	} else if case .double(let value) = value {
		return .double(value * 2)
	} else if case .string(let value) = value {
		return .string("\(value)\(value)")
	}

	return .array([value, value])
}
// ...
print("Double of \(Variable.float(3.14)) is \(double(.float(3.14)))")

使用 E.num 的项目