擅长:python、mysql、java
<p>假设您想要传递一个函数,该函数将根据参数选择函数:</p>
<pre class="lang-py prettyprint-override"><code>def compare(a, b):
...
def anticompare(a, b): # Compare but backwards
...
def get_comparator(reverse):
if reverse: return anticompare
else: return compare
def sort(arr, reverse=false):
comparator = get_comparator(reverse)
...
</code></pre>
<p>显然,这是有点做作的,但它将选择比较器的逻辑与比较器函数本身分开</p>