Если у вас есть такая конфигурация:
<VirtualHost *:80>
ServerName example.com
DocumentRoot "/var/www/example.com"
<FilesMatch "\.php$">
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
</VirtualHost>
Раскомментируйте следующие строки в вашем httpd.conf
LoadModule proxy_module lib/httpd/modules/mod_proxy.so
LoadModule proxy_fcgi_module lib/httpd/modules/mod_proxy_fcgi.so
Это работает для меня
Поскольку Toto
имеет два метода с одним и тем же именем, но с разными сигнатурами, вы должны указать, какой из них вы хотите:
let f1 = aToto.toto as () -> Void
let f2 = aToto.toto as (String) -> Void
f1() // Output: f1
f2("foo") // Output: f2
Альтернативно (как @Antonio правильно отмечено):
let f1: () -> Void = aToto.toto
let f2: String -> Void = aToto.toto
Если вам нужны функции curries, принимающие экземпляр класса в качестве первого аргумента, вы можете действовать одинаково, только подпись отличается (сравните комментарий @Antonios к вашему вопросу):
let cf1: Toto -> () -> Void = aToto.dynamicType.toto
let cf2: Toto -> (String) -> Void = aToto.dynamicType.toto
cf1(aToto)() // Output: f1
cf2(aToto)("bar") // Output: f2
let f1: Void -> Void = aToto.toto
иlet f2: String -> Void = aToto.toto
– Antonio 5 February 2015 в 15:16aToto.toto
иaToto.dynamicType.toto
? Первая возвращает() -> Void
, а вторая возвращаетToto -> () -> Void
. У меня есть lib, который принимает второй тип в качестве параметра, поэтому мне показалось, что мне нужно получить свой func с файломdynamicType
. НоaToto.dynamicType.toto as (String) -> Void
возвращает следующую ошибку:String is not a subtype of Toto
– Yaman 5 February 2015 в 15:27