Skip to content

Instantly share code, notes, and snippets.

@ilteris
Last active August 29, 2015 14:27
Show Gist options
  • Save ilteris/deb8d28cff0ab0ec5cb8 to your computer and use it in GitHub Desktop.
Save ilteris/deb8d28cff0ab0ec5cb8 to your computer and use it in GitHub Desktop.
import Foundation
protocol Term {
var value: String { get }
}
extension Term {}
struct Statement {
var terms: [Term] = []
mutating func addItem(term: Term) {
terms.append(term)
}
}
struct Fraction: Term {
let numerator: Statement
let denominator: Statement
let value: String
}
struct Exponent: Term {
let base: String
let power: Statement
let value: String
}
struct Variable: Term {
let value: String
}
struct Operator: Term {
let value: String
}
struct Number: Term {
let value: String
}
func highlightTerm(term:Term) {
for(_, localTerm) in EnumerateSequence(statement.terms) {
//how can I check if
//term == localTerm?
}
}
protocol Equatable {
func ==(lhs: Self, rhs: Self) -> Bool
}
extension Term: Equatable { }
func ==(lhs: Term, rhs: Term) -> Bool {
return lhs.value == rhs.value
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment