私は、hacklang に取り掛かるために新しいプロジェクトを開始することに決めました。PHP の習慣から移行する際に最初に遭遇した問題をいくつか修正した後、次のエラーに遭遇しました。
Unbound name: str_replace
Unbound name: empty
いくつかの調査を行ったところ、これは型チェックされていない「レガシー」php を使用しているためであり、//strict.
それは問題ありません。empty()交換するのは簡単でしたstr_replace()が、少し難しいです。
//strict?または少なくとも同様のもので動作する同等の機能はありますか。
使用できることは承知しています//declが、私の場合、それは目的に反しているように感じます。
ハックで実装されている関数と、ドキュメントにない関数を見つける方法は少なくともありますか?
参考までに(質問自体にはあまり関係ありませんが)、コードは次のとおりです。
<?hh //strict
class HackMarkdown {
    public function parse(string $content) : string {
        if($content===null){ 
            throw new RuntimeException('Empty Content');
        }
        $prepared = $this->prepare($content);
    }
    private function prepare(string $contentpre) : Vector<string>{
        $contentpre = str_replace(array("\r\n","\r"),"\n",$contentpre);
        //probably need more in here
        $prepared = Vector::fromArray(explode($contentpre,"\n"));
        //and here
        return $prepared;
    }
}