古いさびたPascalには、オブジェクトまたはレコードに対して一連のアクションを実行するための便利な構成がありました。
with obj do
begin
methodCall
otherMethodCall
...
end
私はscalaで似たようなものに触れようとしていますが、頭の中に何かが欠けています:)
objが現在渡されたクロージャのスコープ内にあり、次のように動作するかのように、何らかの形でそのような効果を達成することは可能ですか?
{
import obj._
callObjMethod(x, y)
objVal.doSomething()
...
}
しかし、次のようなカスタマイズされた構文では:
doWith (obj) {
callObjMethod(x, y)
objVal.doSomething()
}
no
直感的にはそれ以上のものだと感じますがyes
、好奇心は確かに知りたがっています。