Используйте этот код для реализации UITableview
в swift:
var cell = tableView.dequeueReusableCellWithIdentifier(“cell”)
if cell == nil {
cell = UITableViewCell(style: .Value1, reuseIdentifier: “cell”)
}
Если у вас есть итератор, вы можете просто вызвать его метод next
. Что-то вроде:
In [3]: (5*x for x in xrange(2,4)).next()
Out[3]: 10
В вашем вопросе есть некоторая двусмысленность. Ваше определение first и пример регулярного выражения подразумевают, что существует логический тест. Но в примере со знаменателями явно есть предложение if; так что это просто совпадение, что каждое целое число оказывается истинным.
Похоже, комбинация next и itertools.ifilter даст вам то, что вы хотите.
match = next(itertools.ifilter(None, (regex.match(big_text) for regex in regexes)))
Haskell использует то, что вы только что описали, поскольку функция принимает
(или в качестве частичной функции взять 1
, технически). В Поваренной книге Python есть написанные оболочки-генераторы, которые выполняют те же функции, что и take
, takeWhile
и drop
в Haskell.
Но насчет того, почему это не встроено, ваше предположение не хуже моего.