以下の内容はhttps://let.blog.jp/tag/Hackより取得しました。


Hack は using + disposable を使うらしい
少し前に Hack がいろいろ変わって PHP の悪いところ切り捨てていくみたい とかいう話を聞いてしばらくしたのでなにか変わってるのかなと見てみると……
もう 少し前の話みたいですがデストラクタが廃止されて using+disposable 使うようになったみたいですね

この組み合わせ C# ぽいですね (C# にはデストラクタもありますけど

IDisposable を継承したクラスで __dispose メソッドを実装して

class Handle implements \IDisposable {
public function __dispose(): void {}
public function foo(): void {}
}

using を使って そのクラスのコンストラクタを呼び出します

using ($x = new Handle()) {
$x->foo();
}

基本は C# と一緒

ただ関数スコープもできるみたいで

using new Handle();

と書いたらそのスコープが終わってから __dispose が呼び出されるようです

PHP もこうすればいいのに
HHVM の今後に期待
https://postd.cc/the-future-of-hhvm/

アロー関数やパイプライン演算子もあったりと PHP より使いやすいけどインストールが辛いし最近あまり話題聞かないから PHP7 にみんな移って放置されるのかと思ってたけど Hack が PHP とは別言語になっていくみたい

PHP ってちょっとしたことするには楽に書けてドキュメントも丁寧なのはいいけど しっかり使い込もうとすると色々辛いからね
PHP から離れて使いやすいようにしてくれるなら Hack でよくなるかも
今の Hack でも悪くはないけど HHVM のインストールが一苦労だから楽にしてくれれば助かるんだけど

でも PHP との互換性は持たせたないのに PHP の主要なツールとの互換性は持たせるってどうするんだろう?
今使われてる機能だけは残しても将来的にそのツールが Hack で廃止予定の参照などを使ったりするかもしれないのに
hack で pipeline operator 使えた
hack のコードみてたら |> が使われてた
document に載ってたサンプル

<?hh

namespace Hack\UserDocumentation\Operators\Pipe\Examples\MapFilterCountPiped;

function piped_example(array<int> $arr): int {
return $arr
|> \array_map($x ==> $x * $x, $$)
|> \array_filter($$, $x ==> $x % 2 == 0)
|> \count($$);
}

var_dump(piped_example(range(1, 10)));

JavaScript でも早く使えるようになってほしい



以上の内容はhttps://let.blog.jp/tag/Hackより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14