не знает, как вызывать [] часть сравнения и упорядочения
blockquote>Условно: merge
извините за длинный код
blockquote>используйте
first = *left <= *right ? left : right
и манипулируйте этим, избегая репликации кода.
не видите, почему последний элемент игнорируется кодом?
blockquote>left.at(0) <= right.at(0)
и
right.at(0) <= left.at(0)
охватывают все возможные результаты сравнения (равенство дважды): дальнейшая оценка
else
не будет выполнена.
Перемещая «движущиеся части», следуя «правильному слиянию», как предложено , отметьте, что предварительные проверки не требуются - просто используйте «петли перемещения».Многое можно сказать о вашем коде (начиная с комментирования) - см. обзоры кода реализации слияний в C ++ для идей.
Если вы хотите, чтобы код, который вы контролируете, был рассмотрен в CR @ SE, обязательно укажите по теме и , чтобы написать хороший вопрос .
Плохие новости: это ошибка.
https://connect.microsoft.com/feedback/ViewFeedback. aspx? FeedbackID = 249840 & SiteID = 99
I wrote something for PowerShell v2.0 that makes it easy to call explicit interfaces in a natural fashion:
PS> $foo = get-interface $bar ([ifoo])
PS> $foo.Foo()
See:
http://www.nivot.org/2009/03/28/PowerShell20CTP3ModulesInPracticeClosures.aspx (archived here).
It does this by generating a dynamic module that thunks calls to the interface. The solution is in pure powershell script (no nasty add-type tricks).
-Oisin