Skip to content

Instantly share code, notes, and snippets.

@yas375
Last active May 10, 2016 03:05
Show Gist options
  • Select an option

  • Save yas375/69d8643ff7d98b137cc2f8201c3e58fc to your computer and use it in GitHub Desktop.

Select an option

Save yas375/69d8643ff7d98b137cc2f8201c3e58fc to your computer and use it in GitHub Desktop.

Revisions

  1. yas375 revised this gist May 7, 2016. 3 changed files with 13 additions and 8 deletions.
    5 changes: 5 additions & 0 deletions expected_output
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,5 @@
    double 2
    filter 4
    double 8
    filter 16
    result: [4]
    6 changes: 3 additions & 3 deletions main.swift
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,5 @@
    func transformer(value: Int) -> Int {
    print("transform \(value)")
    func double(value: Int) -> Int {
    print("double \(value)")
    return value * 2
    }

    @@ -13,7 +13,7 @@ let xs = [2, 8]


    let bs = Array(xs.lazy
    .map { transformer($0) }
    .map { double($0) }
    .filter { filter($0) }
    )

    10 changes: 5 additions & 5 deletions output
    Original file line number Diff line number Diff line change
    @@ -1,10 +1,10 @@
    transform 2
    double 2
    filter 4
    transform 8
    double 8
    filter 16
    transform 2
    double 2
    filter 4
    transform 2
    transform 8
    double 2
    double 8
    filter 16
    result: [4]
  2. yas375 revised this gist May 7, 2016. No changes.
  3. yas375 created this gist May 7, 2016.
    20 changes: 20 additions & 0 deletions main.swift
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,20 @@
    func transformer(value: Int) -> Int {
    print("transform \(value)")
    return value * 2
    }

    func filter(value: Int) -> Bool {
    print("filter \(value)")
    return value < 10
    }


    let xs = [2, 8]


    let bs = Array(xs.lazy
    .map { transformer($0) }
    .filter { filter($0) }
    )

    print("result: \(bs)")
    10 changes: 10 additions & 0 deletions output
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,10 @@
    transform 2
    filter 4
    transform 8
    filter 16
    transform 2
    filter 4
    transform 2
    transform 8
    filter 16
    result: [4]