4. Set up a network of chunks where d depends on c and b, and both b and c depend on a. Have each chunk print lubridate::now(), set cache = TRUE, then verify your understanding of caching.

---
title: "Exercise 24.4.7.4"
author: "Joey Campbell"
date: "03/19/2019"
output: html_document
---

`{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, cache = TRUE)
`

The chunk `a` has no dependencies.
`{r a}
print(lubridate::now())
x <- 1
`

The chunk `b` depends on `a`.
`{r b, dependson = c("a")}
print(lubridate::now())
y <- x + 1
`

The chunk `c` depends on `a`.
`{r c, dependson = c("a")}
print(lubridate::now())
z <- x * 2
`

The chunk `d` depends on `c` and `b`:
`{r d, dependson = c("c", "b")}
print(lubridate::now())
w <- y + z
`

If this document is knit repeatedly, the value printed by lubridate::now() will be the same for all chunks, and the same as the first time the document was run with caching.

LS0tDQp0aXRsZTogIkNvZGUgY2h1bmtzIg0Kb3V0cHV0OiANCiAgaHRtbF9ub3RlYm9vazoNCiAgICB0b2M6IHRydWUNCiAgICB0b2NfZmxvYXQ6IHRydWUNCi0tLQ0KDQojIyMgNC4gU2V0IHVwIGEgbmV0d29yayBvZiBjaHVua3Mgd2hlcmUgZCBkZXBlbmRzIG9uIGMgYW5kIGIsIGFuZCBib3RoIGIgYW5kIGMgZGVwZW5kIG9uIGEuIEhhdmUgZWFjaCBjaHVuayBwcmludCBsdWJyaWRhdGU6Om5vdygpLCBzZXQgY2FjaGUgPSBUUlVFLCB0aGVuIHZlcmlmeSB5b3VyIHVuZGVyc3RhbmRpbmcgb2YgY2FjaGluZy4NCmBgYHt9DQotLS0NCnRpdGxlOiAiRXhlcmNpc2UgMjQuNC43LjQiDQphdXRob3I6ICJKb2V5IENhbXBiZWxsIg0KZGF0ZTogIjAzLzE5LzIwMTkiDQpvdXRwdXQ6IGh0bWxfZG9jdW1lbnQNCi0tLQ0KDQpge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUsIGNhY2hlID0gVFJVRSkNCmANCg0KVGhlIGNodW5rIGBhYCBoYXMgbm8gZGVwZW5kZW5jaWVzLg0KYHtyIGF9DQpwcmludChsdWJyaWRhdGU6Om5vdygpKQ0KeCA8LSAxDQpgDQoNClRoZSBjaHVuayBgYmAgZGVwZW5kcyBvbiBgYWAuDQpge3IgYiwgZGVwZW5kc29uID0gYygiYSIpfQ0KcHJpbnQobHVicmlkYXRlOjpub3coKSkNCnkgPC0geCArIDENCmANCg0KVGhlIGNodW5rIGBjYCBkZXBlbmRzIG9uIGBhYC4NCmB7ciBjLCBkZXBlbmRzb24gPSBjKCJhIil9DQpwcmludChsdWJyaWRhdGU6Om5vdygpKQ0KeiA8LSB4ICogMg0KYA0KDQpUaGUgY2h1bmsgYGRgIGRlcGVuZHMgb24gYGNgIGFuZCBgYmA6DQpge3IgZCwgZGVwZW5kc29uID0gYygiYyIsICJiIil9DQpwcmludChsdWJyaWRhdGU6Om5vdygpKQ0KdyA8LSB5ICsgeg0KYA0KYGBgDQpJZiB0aGlzIGRvY3VtZW50IGlzIGtuaXQgcmVwZWF0ZWRseSwgdGhlIHZhbHVlICBwcmludGVkIGJ5IGBsdWJyaWRhdGU6Om5vdygpYCANCndpbGwgYmUgdGhlIHNhbWUgZm9yIGFsbCBjaHVua3MsIGFuZCB0aGUgc2FtZSBhcyB0aGUgZmlyc3QgdGltZSB0aGUgZG9jdW1lbnQNCndhcyBydW4gd2l0aCBjYWNoaW5nLg==