2016-12-16 4 views
1

の文字列に変換された場合:チェック変数は、私はこのようなHacklangジェネリッククラスを持ってHacklang

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

    } 

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

私は<T>として使用することができ、変数を制限する必要はありませんが、私はそれをしたいです文字列に変換可能です。

与えられた変数をbool、int、float、stringまたは__toStringのオブジェクトにする必要があるかどうかをHacklangに知らせる方法はありますか?

答えて

1

かなり掘り下げた後、現時点でHacklangには解決策がありません。あなたが持っているのは\Stringishです。文書化されていないインターフェイスで、ネイティブの文字列とオブジェクトの両方が__toStringメソッドで覆われています。しかし、intfloatまたはboolをカバーしていません。

出典:interfaces.hhi

+0

私の日は台無しです。 – bishop

+1

@bishop私はチケットをここに提出しました:https://github.com/facebook/hhvm/issues/7566 これはどうなるか見ていきます。 – Janoszen

関連する問題