擅长:python、mysql、java
<p>返回递归调用,如果字符存在,则加1。本例中的计数器为0或1,而不是运行总数。在</p>
<p>您可以将布尔变量设置为当前字符是否为“x”,然后可以将最后一行更改为类似以下内容:</p>
<pre><code>return xCounter[1:] +
(if isX then 0 else 1)
</code></pre>
<p>最终结果将是一个加法表达式链,其中返回最终结果(1和0的加法“链”)。在</p>
<p>您还可以将“workhorse”函数包装在一个包装器中,该包装器自动传递初始参数,这样调用者就不必:</p>
^{pr2}$
<p>其中<code>xCounterHelper</code>是原始函数。在</p>
<p>在需要更多参数的复杂递归函数中,第二个选项非常方便。隐藏丑陋的多参数版本作为私有函数(如果它是类方法),并公开cleaner 1参数版本(注意Python没有私有函数)。这是更多的语言。在</p>