Легкий:
class Foo:
def bar1(self):
print 1
def bar2(self):
print 2
def callMethod(o, name):
getattr(o, name)()
f = Foo()
callMethod(f, "bar1")
Взгляните на getattr
Вы также можете использовать setattr для установки класса атрибуты по именам.
Если Вы пишете сценарий удара, зовете его по имени:
#!/bin/bash
/bin/sh, как гарантируют, не будет ударом. Это вызвало тонну поврежденных сценариев в Ubuntu несколько лет назад (IIRC).
встроенный источник работает просто великолепно в ударе; но Вы могли бы также просто использовать точку как предложенный нормандец.
В стандарте POSIX, который /bin/sh
, как предполагается, уважает, команда .
(единственная точка), не source
. Эти source
команда csh
- изм, который вытянули в bash
.
Попытка
. $env_name/bin/activate
Или если у Вас должен быть неPOSIX bash
- измы в Вашем коде, используйте #!/bin/bash
.
bind
просто постоянный клиент Function.prototype.bind
; I' m просто создающий функцию, которая будет звонить scope.$apply
с $scope
набор к this
контекст и handler
как первый аргумент функции. Вы, возможно, также сказали function() { scope.$apply(handler); }
– Michelle Tilley
5 March 2014 в 03:32
$apply
изменения объема, которые происходят асинхронно за пределами Angular' s собственные функции, таким образом, грязная система слежения берет изменение. (2) В случае, если пользователь уже прокрутил вниз, когда директива связана; посмотрите этот пример: jsfiddle.net/BinaryMuse/V7GZ2 (3) Да, это было бы, но тогда директива является менее допускающей повторное использование, потому что это только работает с переменными объема, названнымиscroll
. – Michelle Tilley 5 March 2014 в 02:43