Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
260 changes: 260 additions & 0 deletions references/intro/diff/Loop3-Loop4.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,260 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now I see what did you mean with the diff.

<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>File Compare</title>
<style type="text/css">
#page {
font-family: sans-serif;
}
table {
border-collapse: collapse;
}
td {
white-space: nowrap;
font-family: monospace;
font-size: x-small;
vertical-align: top;
}
td.fileName {
background: #E6E6E6;
font-family: sans-serif;
font-size: small;
}
td.lineNumber {
text-align: right;
background: #FFC800;
}
td.added {
background: #BEF0BE;
}
td.removed {
background: #C8C8FF;
}
td.changed {
background: #FFC8C8;
}
td.equal {
background: #FFFFFF;
}
td.empty {
background: #F2F2F2;
}
</style>
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body>
<table>
<tr>
<td colspan="2" class="filename">/Users/hhandoko/Workspace/Repositories/scala-workshop/references/intro/src/main/scala/Loop3.scala</td>
<td colspan="2" class="filename">/Users/hhandoko/Workspace/Repositories/scala-workshop/references/intro/src/main/scala/Loop4.scala</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">1</td><td class="added">import&nbsp;scala.annotation.tailrec</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">2</td><td class="added"></td>
</tr>
<tr>
<td class="lineNumber">1</td><td class="changed">object&nbsp;Loop3&nbsp;extends&nbsp;App&nbsp;{</td><td class="lineNumber">3</td><td class="changed">object&nbsp;Loop4&nbsp;extends&nbsp;App&nbsp;{</td>
</tr>
<tr>
<td class="lineNumber">2</td><td class="equal"></td><td class="lineNumber">4</td><td class="equal"></td>
</tr>
<tr>
<td class="lineNumber">3</td><td class="equal">&nbsp;&nbsp;def&nbsp;iterate(max:&nbsp;Int):&nbsp;List[Int]&nbsp;=&nbsp;{</td><td class="lineNumber">5</td><td class="equal">&nbsp;&nbsp;def&nbsp;iterate(max:&nbsp;Int):&nbsp;List[Int]&nbsp;=&nbsp;{</td>
</tr>
<tr>
<td class="lineNumber">4</td><td class="equal">&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;result&nbsp;=&nbsp;List[Int]()</td><td class="lineNumber">6</td><td class="equal">&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;result&nbsp;=&nbsp;List[Int]()</td>
</tr>
<tr>
<td class="lineNumber">5</td><td class="equal"></td><td class="lineNumber">7</td><td class="equal"></td>
</tr>
<tr>
<td class="lineNumber">6</td><td class="equal">&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(x&nbsp;&lt;-&nbsp;1&nbsp;to&nbsp;max)</td><td class="lineNumber">8</td><td class="equal">&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(x&nbsp;&lt;-&nbsp;1&nbsp;to&nbsp;max)</td>
</tr>
<tr>
<td class="lineNumber">7</td><td class="equal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;=&nbsp;result&nbsp;:+&nbsp;x</td><td class="lineNumber">9</td><td class="equal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;=&nbsp;result&nbsp;:+&nbsp;x</td>
</tr>
<tr>
<td class="lineNumber">8</td><td class="equal"></td><td class="lineNumber">10</td><td class="equal"></td>
</tr>
<tr>
<td class="lineNumber">9</td><td class="equal">&nbsp;&nbsp;&nbsp;&nbsp;result</td><td class="lineNumber">11</td><td class="equal">&nbsp;&nbsp;&nbsp;&nbsp;result</td>
</tr>
<tr>
<td class="lineNumber">10</td><td class="equal">&nbsp;&nbsp;}</td><td class="lineNumber">12</td><td class="equal">&nbsp;&nbsp;}</td>
</tr>
<tr>
<td class="lineNumber">11</td><td class="equal"></td><td class="lineNumber">13</td><td class="equal"></td>
</tr>
<tr>
<td class="lineNumber">12</td><td class="equal">&nbsp;&nbsp;def&nbsp;filterEven(xs:&nbsp;List[Int]):&nbsp;List[Int]&nbsp;=&nbsp;{</td><td class="lineNumber">14</td><td class="equal">&nbsp;&nbsp;def&nbsp;filterEven(xs:&nbsp;List[Int]):&nbsp;List[Int]&nbsp;=&nbsp;{</td>
</tr>
<tr>
<td class="lineNumber">13</td><td class="removed">&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;result&nbsp;=&nbsp;List[Int]()</td><td class="lineNumber"></td><td class="empty"></td>
</tr>
<tr>
<td class="lineNumber">14</td><td class="equal"></td><td class="lineNumber">15</td><td class="equal"></td>
</tr>
<tr>
<td class="lineNumber">15</td><td class="changed">&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(x&nbsp;&lt;-&nbsp;xs)</td><td class="lineNumber">16</td><td class="changed">&nbsp;&nbsp;&nbsp;&nbsp;@tailrec</td>
</tr>
<tr>
<td class="lineNumber">16</td><td class="changed">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(x&nbsp;%&nbsp;2&nbsp;==&nbsp;0)</td><td class="lineNumber">17</td><td class="changed">&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;loop(result:&nbsp;List[Int],&nbsp;xs:&nbsp;List[Int]):&nbsp;List[Int]&nbsp;=&nbsp;xs&nbsp;match&nbsp;{</td>
</tr>
<tr>
<td class="lineNumber">17</td><td class="changed">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;=&nbsp;result&nbsp;:+&nbsp;x</td><td class="lineNumber"></td><td class="changed"></td>
</tr>
<tr>
<td class="lineNumber">18</td><td class="changed"></td><td class="lineNumber"></td><td class="changed"></td>
</tr>
<tr>
<td class="lineNumber">19</td><td class="changed">&nbsp;&nbsp;&nbsp;&nbsp;result</td><td class="lineNumber">18</td><td class="changed">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;Nil&nbsp;=&gt;&nbsp;result</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">19</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;x&nbsp;::&nbsp;tail&nbsp;=&gt;</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">20</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val&nbsp;next&nbsp;=&nbsp;if&nbsp;(x&nbsp;%&nbsp;2&nbsp;==&nbsp;0)&nbsp;List(x)&nbsp;else&nbsp;Nil</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">21</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loop(next&nbsp;++&nbsp;result,&nbsp;tail)</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">22</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;}</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">23</td><td class="added"></td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">24</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;loop(Nil,&nbsp;xs)</td>
</tr>
<tr>
<td class="lineNumber">20</td><td class="equal">&nbsp;&nbsp;}</td><td class="lineNumber">25</td><td class="equal">&nbsp;&nbsp;}</td>
</tr>
<tr>
<td class="lineNumber">21</td><td class="equal"></td><td class="lineNumber">26</td><td class="equal"></td>
</tr>
<tr>
<td class="lineNumber">22</td><td class="equal">&nbsp;&nbsp;def&nbsp;square(xs:&nbsp;List[Int]):&nbsp;List[Int]&nbsp;=&nbsp;{</td><td class="lineNumber">27</td><td class="equal">&nbsp;&nbsp;def&nbsp;square(xs:&nbsp;List[Int]):&nbsp;List[Int]&nbsp;=&nbsp;{</td>
</tr>
<tr>
<td class="lineNumber">23</td><td class="removed">&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;result&nbsp;=&nbsp;List[Int]()</td><td class="lineNumber"></td><td class="empty"></td>
</tr>
<tr>
<td class="lineNumber">24</td><td class="equal"></td><td class="lineNumber">28</td><td class="equal"></td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">29</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;@tailrec</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">30</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;loop(result:&nbsp;List[Int],&nbsp;xs:&nbsp;List[Int]):&nbsp;List[Int]&nbsp;=&nbsp;xs&nbsp;match&nbsp;{</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">31</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;Nil&nbsp;=&gt;&nbsp;result</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">32</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;x&nbsp;::&nbsp;tail&nbsp;=&gt;</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">33</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val&nbsp;next&nbsp;=&nbsp;List(x&nbsp;*&nbsp;x)</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">34</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loop(next&nbsp;++&nbsp;result,&nbsp;tail)</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">35</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;}</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">36</td><td class="added"></td>
</tr>
<tr>
<td class="lineNumber">25</td><td class="changed">&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(x&nbsp;&lt;-&nbsp;xs)</td><td class="lineNumber">37</td><td class="changed">&nbsp;&nbsp;&nbsp;&nbsp;loop(Nil,&nbsp;xs)</td>
</tr>
<tr>
<td class="lineNumber">26</td><td class="removed">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;=&nbsp;result&nbsp;:+&nbsp;(x&nbsp;*&nbsp;x)</td><td class="lineNumber"></td><td class="empty"></td>
</tr>
<tr>
<td class="lineNumber">27</td><td class="removed"></td><td class="lineNumber"></td><td class="empty"></td>
</tr>
<tr>
<td class="lineNumber">28</td><td class="removed">&nbsp;&nbsp;&nbsp;&nbsp;result</td><td class="lineNumber"></td><td class="empty"></td>
</tr>
<tr>
<td class="lineNumber">29</td><td class="equal">&nbsp;&nbsp;}</td><td class="lineNumber">38</td><td class="equal">&nbsp;&nbsp;}</td>
</tr>
<tr>
<td class="lineNumber">30</td><td class="equal"></td><td class="lineNumber">39</td><td class="equal"></td>
</tr>
<tr>
<td class="lineNumber">31</td><td class="equal">&nbsp;&nbsp;def&nbsp;sum(xs:&nbsp;List[Int]):&nbsp;Int&nbsp;=&nbsp;{</td><td class="lineNumber">40</td><td class="equal">&nbsp;&nbsp;def&nbsp;sum(xs:&nbsp;List[Int]):&nbsp;Int&nbsp;=&nbsp;{</td>
</tr>
<tr>
<td class="lineNumber">32</td><td class="removed">&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;result&nbsp;=&nbsp;0</td><td class="lineNumber"></td><td class="empty"></td>
</tr>
<tr>
<td class="lineNumber">33</td><td class="equal"></td><td class="lineNumber">41</td><td class="equal"></td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">42</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;@tailrec</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">43</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;loop(result:&nbsp;Int,&nbsp;xs:&nbsp;List[Int]):&nbsp;Int&nbsp;=&nbsp;xs&nbsp;match&nbsp;{</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">44</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;Nil&nbsp;=&gt;&nbsp;result</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">45</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;x&nbsp;::&nbsp;tail&nbsp;=&gt;</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">46</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val&nbsp;next&nbsp;=&nbsp;x</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">47</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loop(next&nbsp;+&nbsp;result,&nbsp;tail)</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">48</td><td class="added">&nbsp;&nbsp;&nbsp;&nbsp;}</td>
</tr>
<tr>
<td class="lineNumber"></td><td class="empty"></td><td class="lineNumber">49</td><td class="added"></td>
</tr>
<tr>
<td class="lineNumber">34</td><td class="changed">&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(x&nbsp;&lt;-&nbsp;xs)</td><td class="lineNumber">50</td><td class="changed">&nbsp;&nbsp;&nbsp;&nbsp;loop(0,&nbsp;xs)</td>
</tr>
<tr>
<td class="lineNumber">35</td><td class="removed">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;+=&nbsp;x</td><td class="lineNumber"></td><td class="empty"></td>
</tr>
<tr>
<td class="lineNumber">36</td><td class="removed"></td><td class="lineNumber"></td><td class="empty"></td>
</tr>
<tr>
<td class="lineNumber">37</td><td class="removed">&nbsp;&nbsp;&nbsp;&nbsp;result</td><td class="lineNumber"></td><td class="empty"></td>
</tr>
<tr>
<td class="lineNumber">38</td><td class="equal">&nbsp;&nbsp;}</td><td class="lineNumber">51</td><td class="equal">&nbsp;&nbsp;}</td>
</tr>
<tr>
<td class="lineNumber">39</td><td class="equal"></td><td class="lineNumber">52</td><td class="equal"></td>
</tr>
<tr>
<td class="lineNumber">40</td><td class="equal">&nbsp;&nbsp;val&nbsp;result&nbsp;=&nbsp;sum(square(filterEven(iterate(10))))</td><td class="lineNumber">53</td><td class="equal">&nbsp;&nbsp;val&nbsp;result&nbsp;=&nbsp;sum(square(filterEven(iterate(10))))</td>
</tr>
<tr>
<td class="lineNumber">41</td><td class="equal"></td><td class="lineNumber">54</td><td class="equal"></td>
</tr>
<tr>
<td class="lineNumber">42</td><td class="equal">&nbsp;&nbsp;println(s&quot;Sum&nbsp;of&nbsp;even&nbsp;numbers&nbsp;from&nbsp;1&nbsp;to&nbsp;10&nbsp;is&nbsp;$result&quot;)</td><td class="lineNumber">55</td><td class="equal">&nbsp;&nbsp;println(s&quot;Sum&nbsp;of&nbsp;even&nbsp;numbers&nbsp;from&nbsp;1&nbsp;to&nbsp;10&nbsp;is&nbsp;$result&quot;)</td>
</tr>
<tr>
<td class="lineNumber">43</td><td class="equal"></td><td class="lineNumber">56</td><td class="equal"></td>
</tr>
<tr>
<td class="lineNumber">44</td><td class="equal">}</td><td class="lineNumber">57</td><td class="equal">}</td>
</tr>
<tr>
<td class="lineNumber">45</td><td class="equal"></td><td class="lineNumber">58</td><td class="equal"></td>
</tr>
</table>
</body>
Loading