2016-12-16 2 views
1

У меня есть Hacklang общий класс, как это:Проверьте, является ли переменная конвертируемые в строку Hacklang

class SomeClass<T> { 
    public function __construct(private T $input) { 

    } 

    public function __toString() : string { 
     return (string)$this->input; 
    } 
} 

Я не хочу, чтобы ограничить переменную, которая может быть использована в качестве <T>, но я хочу его для преобразования в строку.

Есть ли способ в Hacklang указать заданную переменную, которая должна быть bool, int, float, string или object with __toString?

ответ

1

После того, как вы совершили справедливую битву, на данный момент в Hacklang нет никакого решения. Единственное, что у вас есть, это \Stringish, недокументированный интерфейс, который охватывает как собственные строки, так и объекты с помощью метода __toString. Однако он не охватывает int, float или bool.

interfaces.hhi

+0

Мой день разрушен. – bishop

+1

@bishop Я отправил билет здесь: https://github.com/facebook/hhvm/issues/7566 Мы посмотрим, как это получится. – Janoszen

Смежные вопросы