Advertisement
Guest User

Untitled

a guest
Nov 14th, 2015
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. struct Message {
  2. let from: String
  3. let to: String
  4. let subject: String
  5. }
  6.  
  7. class LocalTransmitter {
  8. func sendMessage(message: Message) {
  9. print("Message to \(message.to) sent locally")
  10. }
  11. }
  12.  
  13. class RemoteTransMitter {
  14. func sendMessage(message: Message) {
  15. print("Message to \(message.to) send remotely")
  16. }
  17. }
  18.  
  19. let messages = [
  20. Message(from: "bob@example.com", to: "joe@example.com", subject: "Free for lunch"),
  21. Message(from: "joe@example.com", to: "alice@example.com", subject: "New Contracts"),
  22. Message(from: "pete@example.com", to: "all@example.com", subject: "All-Hands Meeting")
  23. ]
  24. let localT = LocalTransmitter()
  25. let remoteT = RemoteTransMitter()
  26.  
  27. for message in messages {
  28. if let index = message.from.rangeOfString("@") {
  29. if (message.to.hasSuffix(message.from[Range<String.Index>(start: index.startIndex, end: message.from.endIndex)])) {
  30. localT.sendMessage(message)
  31. } else {
  32. remoteT.sendMessage(message)
  33. }
  34. } else {
  35. print("Error: cannot send message to \(message.from)")
  36. }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement