🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.ruby
Article #225

Re: Jak dodać własną metodę typu nazwa! do klasy?

#225
From: Wojciech Piekutowski
Date: Sun, 08 Oct 2006 14:56
37 lines
2491 bytes
Hej,

Rafał Komorowski wrote:
> 
> A tak ogólnie, w klasach wbudowanych w Rubiego bardzo brakuje mi paru 
> dość oczywistych funkcji, w tym właśnie zaokrąglania floata do zadanego 
> miejsca po przecinku. Szkoda takie podstawowe rzeczy implementować już w 
> interpretowanym kodzie, do tego przecież właśnie dobrze nadaje się 
> kompilowane C.
> Ponadto chciałbym też mieć sprintf, które generuje przecinek jako 
> decimal-point i kropkę jako thousands-separator, ale to już z innej 
> beczki. Z braku lepszego pomysłu mam po prostu:
> 
>  class Fixnum
>    def format00
>      sprintf("%d", self).gsub(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1.")
>    end
>  end
> 
> ale serce mi się kraje, jak widzę wyrażenia regularne zastosowane do tak 
> prymitywnych rzeczy. Może jednak warto nauczyć się robić wstawkę w C do 
> kodu Rubiego? Nie interesowałem się tym na razie, ale widzę, że w 
> "biblii" jest to szeroko opisane.
> 

Z ciekawości zajrzałem do mana:
http://unixhelp.ed.ac.uk/CGI/man-cgi?sprintf+3

Jest tam info, że generowanie tych znaków zależy od ustawienia LOCALE na 
odpowiednią wartość. W Twoim przypadku pl_PL lub pl_PL.UTF8 (jeśli 
używasz unicode w systemie). Można też zmienić tylko poszczególne 
składowe pakietu lokalizacyjnego - sam znak separacji i grupowania. 
Więcej informacji znajdziesz tutaj:
http://linuxreviews.org/man/locale/index.html.pl

Pozdrawiam,
Wojciech Piekutowski
Technical Details
Message-ID: <egb3i2$4m9$1@news.task.gda.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.task.gda.pl!not-for-mail
References: <eg90si$dj4$1@news.task.gda.pl> <eg96pc$u4t$1@news.onet.pl> <eg9d1o$q20$1@news.task.gda.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.task.gda.pl!not-for-mail
From: Wojciech Piekutowski <w.piekutowski@gmail.com>
Newsgroups: pl.comp.lang.ruby
Subject: Re: Jak dodać własną metodę typu
 nazwa! do klasy?
Date: Sun, 08 Oct 2006 16:56:05 +0200
Organization: CI TASK http://www.task.gda.pl/
Lines: 37
Message-ID: <egb3i2$4m9$1@news.task.gda.pl>
References: <eg90si$dj4$1@news.task.gda.pl> <eg96pc$u4t$1@news.onet.pl> <eg9d1o$q20$1@news.task.gda.pl>
NNTP-Posting-Host: h238.osiedle.net.pl
Mime-Version: 1.0
X-Trace: news.task.gda.pl 1160319362 4809 193.151.67.238 (8 Oct 2006 14:56:02 GMT)
X-Complaints-To: abuse@news.task.gda.pl
NNTP-Posting-Date: Sun, 8 Oct 2006 14:56:02 +0000 (UTC)
User-Agent: Thunderbird 1.5.0.7 (Windows/20060909)
In-Reply-To: <eg9d1o$q20$1@news.task.gda.pl>
X-Antivirus: avast! (VPS 0640-6, 2006-10-08), Outbound message
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit