October 02, 2012 [Issue 8743] Add support for memoizing class methods | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | http://d.puremagic.com/issues/show_bug.cgi?id=8743 --- Comment #10 from Andrej Mitrovic <andrej.mitrovich@gmail.com> 2012-10-02 03:17:42 PDT --- (In reply to comment #9) > (In reply to comment #8) > > (In reply to comment #6) > > > This mixin template is useful. A disadvantage is that it doesn't follow the API (usage) of the Phobos memoize. So maybe it needs a different name, like memoizeMethod, or something. > > > > Yes. I couldn't make it have the same syntax because of the requirement of the `this` reference. > > Also I'm unsure about recursive calls. And I think I've uncovered yet another bug: class A { int slowFunc(int a, int b) { int result; /* Error: function expected before (), not mixin memoize!(slowFunc) fastFunc; */ if (a > 1) return fastFunc(a-1, b); return result; } mixin memoize!slowFunc fastFunc; } If I replace 'return fastFunc(a-1, b);' with 'return this.fastFunc(a-1, b)' it works. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation