- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
def down_cast_qobject(tp, obj):
assert obj
assert isinstance(tp, type)
assert issubclass(tp, QObject)
addresses = shiboken.getCppPointer(obj)
assert isinstance(addresses, collections.Iterable)
assert len(addresses)
ptrs = filter(lambda p: p > 0L, addresses)
assert ptrs
ptr = ptrs[0]
assert isinstance(ptr, long)
wrapped = shiboken.wrapInstance(ptr, tp)
assert isinstance(wrapped, tp)
return wrapped
кто-то попытался динамические типы к реальности пригвоздить. но без читабельных сообщений, выглядит говновато.
Да, если написать плагин для GHC.
А ты сам, если будешь долго складывать натуральные, быстро получишь - 1/12 ?
Оперируя бесконечными спискамирядами - да.
Спущусь к более понятной и тривиальной аналогии:
Вас никогда не удивлял результат подстановки степеней двойки в формулу суммы геометрической прогрессии (которая получается тривиальнейшим умножением бесконечного ряда на 1-q).
И когда Вселенная переполняется и там получается -1. Haskell так умеет?
А еще говорят "ленивый". Ленивый до бесконечности считать не будет.
Он сократит, чтобы вся эта бесконечность взаимоуничтожилась.
Будешь отрицать?..
( (***) <$> id <*> id )
( second negate twinPrime )
<$> (+) . flip shiftR 2
. ord . head
where twinPrime = (5,7)
Казалось причем тут (5+7)? А также negate и quotRem.
https://ideone.com/sIERvf
https://ideone.com/aDi8FZ
А то что какие-то полумеры...
Но In the current implementation, the built-in variable ``__debug__`` is ``True`` under normal circumstances, ``False`` when optimization is requested (command line option -O).