Article View: pl.comp.lang.ruby
Article #219Jak dodać własną metodę typu nazwa! do klasy?
From: Rafał Komorowski
Date: Sat, 07 Oct 2006 19:58
Date: Sat, 07 Oct 2006 19:58
33 lines
1644 bytes
1644 bytes
Nie spodziewam się pozytywnej odpowiedzi na poniższe pytanie, ale wolę spróbować. Chcę rozszerzyć funkcjonalność klasy Float o kilka brakujących metod. Działa mi takie coś: class Float # zaokrągla liczbę typu Float do jednego miejsca po przecinku def round01 (self*10).round / 10.0 end end I fajnie. Ale marzy mi się napisanie także metody round01!, która zaokrągla liczbę "in place". Żeby można było napisać: a=3.1415 a.round01! Zdaje się, że jest to niemożliwe, bo klasa Float nie jest zaimplementowana w Rubym. Próba typu: def round01! self = (self*10).round / 10.0 end kończy się porażką, ponieważ wartość self jest tylko do odczytu. Czy dobrze myślę, że nie da się tego zrobić bez grzebania w implementacji klasy Float? -- komor_newsNO@macSPAM.com
Technical Details
Message-ID:
<eg90si$dj4$1@news.task.gda.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.task.gda.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.task.gda.pl!not-for-mail From: Rafał Komorowski <komor_newsBEZ@macSPAMU.com> Newsgroups: pl.comp.lang.ruby Subject: Jak dodać własną metodę typu nazwa! do klasy? Date: Sat, 7 Oct 2006 21:58:11 +0200 Organization: CI TASK http://www.task.gda.pl/ Lines: 34 Message-ID: <eg90si$dj4$1@news.task.gda.pl> NNTP-Posting-Host: public-gprs17295.centertel.pl Mime-Version: 1.0 X-Trace: news.task.gda.pl 1160251092 13924 87.96.67.143 (7 Oct 2006 19:58:12 GMT) X-Complaints-To: abuse@news.task.gda.pl NNTP-Posting-Date: Sat, 7 Oct 2006 19:58:12 +0000 (UTC) User-Agent: Unison/1.7.6 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit