函式这个概念也许承载了太多的数据量。不过别担心,只要坚持做这些练习,对照上个练习中的检查清单检查这次练习的关联,你最终会明白这些内容的。
有一个你可能没有注意到的细节,我们现在强调一下,函式里面的变量和脚本里面的变量之间是没有连接的。下面的这个练习可以让你对这一点有更多的思考:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
def cheese_and_crackers<span class="o">(</span>cheese_count, boxes_of_crackers<span class="o">)</span> puts <span class="s2">"You have #{cheese_count} cheeses!"</span> puts <span class="s2">"You have #{boxes_of_crackers} boxes of crackers!"</span> puts <span class="s2">"Man that's enough for a party!"</span> puts <span class="s2">"Get a blanket."</span> puts <span class="c"># a blank line</span> end puts <span class="s2">"We can just give the function numbers directly:"</span> cheese_and_crackers<span class="o">(</span>20, 30<span class="o">)</span> puts <span class="s2">"OR, we can use variables from our script:"</span> <span class="nv">amount_of_cheese</span> <span class="o">=</span> 10 <span class="nv">amount_of_crackers</span> <span class="o">=</span> 50 cheese_and_crackers<span class="o">(</span>amount_of_cheese, amount_of_crackers<span class="o">)</span> puts <span class="s2">"We can even do math inside too:"</span> cheese_and_crackers<span class="o">(</span><span class="m">10</span> + 20, <span class="m">5</span> + 6<span class="o">)</span> puts <span class="s2">"And we can combine the two, variables and math:"</span> cheese_and_crackers<span class="o">(</span>amount_of_cheese + 100, amount_of_crackers + 1000<span class="o">)</span> |