Article View: pl.comp.lang.ruby
Article #598Re: juhu
From: Szymon 'tichy'
Date: Fri, 07 Sep 2007 15:32
Date: Fri, 07 Sep 2007 15:32
44 lines
2917 bytes
2917 bytes
Marcin Mielżyński wrote: > Szymon 'tichy' wrote: > >> "An auxiliary method is a method whose qualifier is :before, >> :after, or :around." >> >> Czyli w CLOS-ie nazwa zbiorcza jednak istnieje >> i jest to 'auxiliary method'. Chyba miałem nosa >> z tymi 'metodami pomocniczymi'. >> > > W http://svn.ruby-lang.org/repos/ruby/trunk/ToDo jest nawiązanie to > defadvice (czyli terminologia wzięta bardziej z AOP), choć faktycznie > nazywają to method combinators: > w http://glu.ttono.us/articles/2005/10/16/matzs-keynotes Defadvice ? Jestem pewien że to z Emacs-a (jako że matz jest dłubaczem emacsowym). W Emacs Lispie jest taki operator. Rozdział 17.2 "Defining Advice". > Ciekawsza rzecz wzięta CLOS'a to selector namespace mająca zapobiec > zatruciu przestrzeni nazw klas wbudowanych, np: > > module Mod > class Fixnum > def + rhs > end > end > end > > zredefiniowana metoda + dla Fixnum będzie funkcjonować tylko w module > Mod, AFAIR, wewnętrznie w tablicy metod pamiętana ma być jako Mod$rhs. > Przy okazji, pozwoli to znacznie zredukować liczbę > polimorficznych/megamorficznych callsite'ów i lepiej je inlinować. Póki co tego nie skomentuję (prawie ;)) -- co prawda o CLOS-ie mam niejakie pojęcie, ale o Rubym tego powiedzieć nie mogę. Między innymi dlatego tu jestem ;) Tzn. czuję że chodzi o taktykę podobną do stosowanej w CL gdzie dla 'nazw' slotów często definiuje się osobne pakiety bądź używa 'wolnych' symboli (ang. 'uninterned symbols'). Gwoli dokładności nie jest to sprawa samego CLOS-u, enkapsulacja jest w CL niezależna od systemu obiektowego per se. Oczywiście 'uzupełnia' ów system o tę ważną własność.
Technical Details
Message-ID:
<fbrr7v$f77$1@nemesis.news.tpi.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.internetia.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mailReferences:
<fbotsr$9di$1@atlantis.news.tpi.pl> <1415512.7KMuUgGLHc@zatoichi.homeunix.org> <fbpg9m$6ld$1@achot.icm.edu.pl> <fbpjb8$oou$1@nemesis.news.tpi.pl> <fbqpt6$f09$1@achot.icm.edu.pl> <fbrfti$7ui$1@atlantis.news.tpi.pl> <fbrg7d$qhb$1@bobo.ds5.agh.edu.pl> <fbrlla$5da$1@atlantis.news.tpi.pl> <fbrm7m$7pl$1@atlantis.news.tpi.pl> <fbrobq$oqa$1@news.onet.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.internetia.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail From: Szymon 'tichy' <fooshmoo@glombraz.org> Newsgroups: pl.comp.lang.ruby Subject: Re: juhu Date: Fri, 07 Sep 2007 17:32:23 +0200 Organization: tp.internet - http://www.tpi.pl/ Lines: 44 Message-ID: <fbrr7v$f77$1@nemesis.news.tpi.pl> References: <fbotsr$9di$1@atlantis.news.tpi.pl> <1415512.7KMuUgGLHc@zatoichi.homeunix.org> <fbpg9m$6ld$1@achot.icm.edu.pl> <fbpjb8$oou$1@nemesis.news.tpi.pl> <fbqpt6$f09$1@achot.icm.edu.pl> <fbrfti$7ui$1@atlantis.news.tpi.pl> <fbrg7d$qhb$1@bobo.ds5.agh.edu.pl> <fbrlla$5da$1@atlantis.news.tpi.pl> <fbrm7m$7pl$1@atlantis.news.tpi.pl> <fbrobq$oqa$1@news.onet.pl> NNTP-Posting-Host: aip233.neoplus.adsl.tpnet.pl Mime-Version: 1.0 X-Trace: nemesis.news.tpi.pl 1189179456 15591 83.25.223.233 (7 Sep 2007 15:37:36 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Fri, 7 Sep 2007 15:37:36 +0000 (UTC) User-Agent: Icedove 1.5.0.10 (X11/20070329) In-Reply-To: <fbrobq$oqa$1@news.onet.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit