Powershell, вид встроенного пересечения набора?

Я использую doctest[1] почти везде, потому что мне нравится то, что я документирую и тестирую свои функции одновременно.

Взглянули на этот код:

def throw_up(something, gowrong=False):
    """
    >>> throw_up('Fish n Chips')
    Traceback (most recent call last):
    ...
    Exception: Fish n Chips

    >>> throw_up('Fish n Chips', gowrong=True)
    'I feel fine!'
    """
    if gowrong:
        return "I feel fine!"
    raise Exception(something)

if __name__ == '__main__':
    import doctest
    doctest.testmod()

, Если Вы помещаете этот пример в модуль и выполняете его из командной строки, оба тестовых сценария оценены и проверены.

[1] документация Python: 23.2 doctest - Тест интерактивные примеры Python

6
задан Joey 20 July 2009 в 10:18
поделиться

2 ответа

$left = New-HashSet string
$left.Add("foo")
$left.Add("bar")
$right = New-HashSet string
$right.Add("bar")
$right.Add("baz")

$left.IntersectWith($right)
$left.UnionWith($right)

(заимствование New-HashSet из Джоша Эйнштейна )

Предупреждение: эти методы в HashSet представляют собой локальные алгоритмы, которые изменяют исходную коллекцию. Если вам нужно преобразование в функциональном стиле для неизменяемых объектов, вам нужно использовать LINQ на вечеринке:

add-type system.core

$asqueryable = [system.linq.queryable].getmethods() | ? { $_.name -eq "AsQueryable" } | select -first 1
$asqueryable = $asqueryable.MakeGenericMethod([string])
$leftAsQueryable = $asqueryable.Invoke($null, (,$left))

$intersect = [system.linq.queryable].getmethods() | ? { $_.name -eq "Intersect" } | select -first 1
$intersect = $intersect.MakeGenericMethod([string])
$result = $intersect.Invoke($null, ($leftAsQueryable, $right))

Очевидно, кому-то нужно обернуть эту хрень с общим статическим отражением в удобный командлет! Не волнуйтесь, я над этим работаю ...

6
ответ дан 17 December 2019 в 02:32
поделиться

Ссылка на Google: MapReduce: упрощенная обработка данных в больших кластерах

Появился в :
OSDI'04: Шестой симпозиум по разработке и реализации операционных систем,
Сан-Франциско, Калифорния, декабрь 2004 г.

Эта ссылка содержит ссылку на PDF-файл и HTML-слайд.

Существует также страница Википедии с описанием со ссылками на реализацию.

Также критика,

Дэвид ДеВитт и Майкл Стоунбрейкер, первопроходцы в области параллельных баз данных и не имеющие общих архитектур, сделали несколько противоречивых заявлений о широте круга проблем, для решения которых можно использовать MapReduce. Они назвали его интерфейс слишком низкоуровневым и задались вопросом, действительно ли он представляет собой сдвиг парадигмы, о котором заявляли его сторонники. Они оспаривают утверждения сторонников MapReduce о новизне, ссылаясь на Teradata как на образец предшествующего уровня техники, существующего более двух десятилетий; они сравнили программистов MapReduce с программистами Codasyl, отметив, что оба " Вы можете работать с другими словарями с помощью aspell .


Или просто возьмите генератор анаграмм, подобный этому, сделанный для игроков Scrabble .

У Revolution Word Finder есть два варианта; поисковик анаграмм и решатель скрэббл. Средство поиска анаграмм берет список букв и возвращает все действительные анаграммы, которые можно создать с их помощью, относительно фиксированного списка слов. Каждая анаграмма проверяется на достоверность по списку слов SOWPODS , который является списком слов, используемым в текущих международных турнирах по скрэбблу.

0
ответ дан 17 December 2019 в 02:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: