Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct Message {
- let from: String
- let to: String
- let subject: String
- }
- class LocalTransmitter {
- func sendMessage(message: Message) {
- print("Message to \(message.to) sent locally")
- }
- }
- class RemoteTransMitter {
- func sendMessage(message: Message) {
- print("Message to \(message.to) send remotely")
- }
- }
- let messages = [
- Message(from: "bob@example.com", to: "joe@example.com", subject: "Free for lunch"),
- Message(from: "joe@example.com", to: "alice@example.com", subject: "New Contracts"),
- Message(from: "pete@example.com", to: "all@example.com", subject: "All-Hands Meeting")
- ]
- let localT = LocalTransmitter()
- let remoteT = RemoteTransMitter()
- for message in messages {
- if let index = message.from.rangeOfString("@") {
- if (message.to.hasSuffix(message.from[Range<String.Index>(start: index.startIndex, end: message.from.endIndex)])) {
- localT.sendMessage(message)
- } else {
- remoteT.sendMessage(message)
- }
- } else {
- print("Error: cannot send message to \(message.from)")
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement