From 971e5e8c8235c5c9f0a937c3208175c3845714cf Mon Sep 17 00:00:00 2001 From: LukePetruzzi Date: Sun, 22 May 2016 22:34:20 -0400 Subject: [PATCH] Add files via upload --- .../Contents.swift | 19 ++++++++++++ .../contents.xcplayground | 4 +++ .../contents.xcworkspacedata | 7 +++++ .../UserInterfaceState.xcuserstate | Bin 0 -> 8529 bytes .../Contents.swift | 24 ++++++++++++++++ .../contents.xcplayground | 4 +++ .../contents.xcworkspacedata | 7 +++++ .../UserInterfaceState.xcuserstate | Bin 0 -> 8524 bytes .../Contents.swift | 15 ++++++++++ .../contents.xcplayground | 4 +++ .../contents.xcworkspacedata | 7 +++++ .../UserInterfaceState.xcuserstate | Bin 0 -> 8408 bytes swiftNinjaProgress | 9 ++++++ .../Contents.swift | 27 ++++++++++++++++++ .../contents.xcplayground | 4 +++ .../contents.xcworkspacedata | 7 +++++ .../UserInterfaceState.xcuserstate | Bin 0 -> 8408 bytes 17 files changed, 138 insertions(+) create mode 100644 swiftNinjaChallenge1.playground/Contents.swift create mode 100644 swiftNinjaChallenge1.playground/contents.xcplayground create mode 100644 swiftNinjaChallenge1.playground/playground.xcworkspace/contents.xcworkspacedata create mode 100644 swiftNinjaChallenge1.playground/playground.xcworkspace/xcuserdata/lukepetruzzi.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 swiftNinjaChallenge3.playground/Contents.swift create mode 100644 swiftNinjaChallenge3.playground/contents.xcplayground create mode 100644 swiftNinjaChallenge3.playground/playground.xcworkspace/contents.xcworkspacedata create mode 100644 swiftNinjaChallenge3.playground/playground.xcworkspace/xcuserdata/lukepetruzzi.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 swiftNinjaChallenge4.playground/Contents.swift create mode 100644 swiftNinjaChallenge4.playground/contents.xcplayground create mode 100644 swiftNinjaChallenge4.playground/playground.xcworkspace/contents.xcworkspacedata create mode 100644 swiftNinjaChallenge4.playground/playground.xcworkspace/xcuserdata/lukepetruzzi.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 swiftNinjaProgress create mode 100644 swiftNinjachallenge2.playground/Contents.swift create mode 100644 swiftNinjachallenge2.playground/contents.xcplayground create mode 100644 swiftNinjachallenge2.playground/playground.xcworkspace/contents.xcworkspacedata create mode 100644 swiftNinjachallenge2.playground/playground.xcworkspace/xcuserdata/lukepetruzzi.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/swiftNinjaChallenge1.playground/Contents.swift b/swiftNinjaChallenge1.playground/Contents.swift new file mode 100644 index 0000000..dde689a --- /dev/null +++ b/swiftNinjaChallenge1.playground/Contents.swift @@ -0,0 +1,19 @@ +//: Playground - noun: a place where people can play + +import UIKit + +// Your first challenge is to write a function that takes two variables (of any type) as +// parameters and swaps their values. +// Need to use inout keyword so that the values can be changed outside of the function scope. +func swapper(inout a: Type, inout _ b: Type) +{ + (a, b) = (b, a) +} + +var a = "first" +var b = "second" +// Call the function +swapper(&a, &b) + +print(a) +print(b) diff --git a/swiftNinjaChallenge1.playground/contents.xcplayground b/swiftNinjaChallenge1.playground/contents.xcplayground new file mode 100644 index 0000000..5da2641 --- /dev/null +++ b/swiftNinjaChallenge1.playground/contents.xcplayground @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/swiftNinjaChallenge1.playground/playground.xcworkspace/contents.xcworkspacedata b/swiftNinjaChallenge1.playground/playground.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/swiftNinjaChallenge1.playground/playground.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/swiftNinjaChallenge1.playground/playground.xcworkspace/xcuserdata/lukepetruzzi.xcuserdatad/UserInterfaceState.xcuserstate b/swiftNinjaChallenge1.playground/playground.xcworkspace/xcuserdata/lukepetruzzi.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..771163c98c341ed799fc1365a75c050f4ff10bae GIT binary patch literal 8529 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 String { + return String((anys.map({item in + switch item { + case "" as String, 0 as Int: + return -10 + case let s as String where Int(s) > 0: + return Int(s)! + case is Int: + return item as! Int + default: + return 0 + } + }) as [Int]).reduce(0) { + // Reformat to String + $0 + $1 + }) +} + +sumAny(5, "5", "dad?", "5.0") diff --git a/swiftNinjaChallenge3.playground/contents.xcplayground b/swiftNinjaChallenge3.playground/contents.xcplayground new file mode 100644 index 0000000..5da2641 --- /dev/null +++ b/swiftNinjaChallenge3.playground/contents.xcplayground @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/swiftNinjaChallenge3.playground/playground.xcworkspace/contents.xcworkspacedata b/swiftNinjaChallenge3.playground/playground.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/swiftNinjaChallenge3.playground/playground.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/swiftNinjaChallenge3.playground/playground.xcworkspace/xcuserdata/lukepetruzzi.xcuserdatad/UserInterfaceState.xcuserstate b/swiftNinjaChallenge3.playground/playground.xcworkspace/xcuserdata/lukepetruzzi.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..f3e846758afbc47e559d4e805db12145f14a150e GIT binary patch literal 8524 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 + + + \ No newline at end of file diff --git a/swiftNinjaChallenge4.playground/playground.xcworkspace/contents.xcworkspacedata b/swiftNinjaChallenge4.playground/playground.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/swiftNinjaChallenge4.playground/playground.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/swiftNinjaChallenge4.playground/playground.xcworkspace/xcuserdata/lukepetruzzi.xcuserdatad/UserInterfaceState.xcuserstate b/swiftNinjaChallenge4.playground/playground.xcworkspace/xcuserdata/lukepetruzzi.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..2eccc40c0c0f1820347fd2cf99f828baf3d8eb1e GIT binary patch literal 8408 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 literal 0 HcmV?d00001 diff --git a/swiftNinjaProgress b/swiftNinjaProgress new file mode 100644 index 0000000..0e6b830 --- /dev/null +++ b/swiftNinjaProgress @@ -0,0 +1,9 @@ +challenge 1: + 2 stars +challenge 2: + 3 stars +challenge 3: + 1 star +challenge 4: + 2 stars + \ No newline at end of file diff --git a/swiftNinjachallenge2.playground/Contents.swift b/swiftNinjachallenge2.playground/Contents.swift new file mode 100644 index 0000000..30dc2b2 --- /dev/null +++ b/swiftNinjachallenge2.playground/Contents.swift @@ -0,0 +1,27 @@ +//: Playground - noun: a place where people can play + +import UIKit + +// Concetenate the arguments if they exist. +func flexStrings(s1: String?=nil, _ s2: String?=nil) -> String +{ + if s1 == nil { + return "none" + } + else if s2 == nil{ + return s1! + } + else { + return s1! + s2! + } +} + +// Their faster implementation +func betterFlexStrings(s1: String = "", _ s2: String = "") -> String { + return s1 + s2 == "" ? "none": s1 + s2 +} + +var s1 = "One", s2 = "Two" + +print(flexStrings(s1, s2)) + diff --git a/swiftNinjachallenge2.playground/contents.xcplayground b/swiftNinjachallenge2.playground/contents.xcplayground new file mode 100644 index 0000000..5da2641 --- /dev/null +++ b/swiftNinjachallenge2.playground/contents.xcplayground @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/swiftNinjachallenge2.playground/playground.xcworkspace/contents.xcworkspacedata b/swiftNinjachallenge2.playground/playground.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/swiftNinjachallenge2.playground/playground.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/swiftNinjachallenge2.playground/playground.xcworkspace/xcuserdata/lukepetruzzi.xcuserdatad/UserInterfaceState.xcuserstate b/swiftNinjachallenge2.playground/playground.xcworkspace/xcuserdata/lukepetruzzi.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..f51f43df535ab9565aec045cb654a139a5558bbf GIT binary patch literal 8408 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 A9{>OV literal 0 HcmV?d00001