C# で部分実装を使用して抽象クラスを作成していることに気付くことがあります。
abstract public class Executor {
abstract protected bool Before();
abstract protected bool During();
abstract protected bool After();
protected bool Execute() {
var success = false;
if (Before()) {
if (During()) {
if (After()) {
success = true;
}
}
}
return success;
}
}
このような制御構造の知恵にもかかわらず、Rust のような関数型言語でこれ (部分的な共有実装) を達成するにはどうすればよいでしょうか?