🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Przeciazanie nazw

#164
From: janu
Date: Sat, 26 Aug 2006 10:10
50 lines
2988 bytes
Witam,

Marcin Mielżyński wrote:
> 1. W Rubym nie istnieje pojęcie przeciążania metod ;) - możliwe że
> perlowe multimetody będą w 2.0

Rzeczywiscie, zle nazwalem to, o co mi chodzi :) Swoja droga - na czym
polegaja owe perlowe multimetody, bo w perlu nigdy nie programowalem?
Chodzi mi o samo pojecie multimetody.

> 2. Podejrzewam że chodzi o widoczność helpera z widoku a nie kontrolera
>
> więc:
>
> w twoim kodzie eval tworzy nowy moduł znajdujący się w bieżącej klasie,
> który nie ma nic wspólnego z właściwym. Aby otworzyć istniejący wyżej
> moduł musisz wyjść z przestrzeni klasy w której robisz eval poprzez
> operator zakresu '::'
>
> eval %{
>     module ::ApplicationHelper
>        def tralalala
>           'hahaha'
>        end
>     end
>        }
>
> ale tak czy inaczej ładniej będzie:
>
> ApplicationHelper.module_eval %{
>     def tralalala
>        'hahaha'
>     end
>                                 }
>
> Tutaj już nie ma potrzeby robienia '::' (o ile byłby konflikt) bo
> odwołanie sugeruje Rubiemu że moduł już istnieje i jest dostępny.

Niestety, probowalem na szybko wprowadzic Twoje rozwiazania w swoj kod
i nie dzialaly. Jak znajde troche wiecej czasu, to przetestuje je
troche lepiej, a chwilowo sprawe "zalatwilem" tworzac swoja wersje
distance_of_time_in_words, w ktorej wywoluje evalowanie metody
zdefiniowanej w bazie danych (ta sama nazwa z sufiksem _alt), jesli ta
metoda jeszcze nie istnieje w moim srodowisku (wprowadzam sobie pole,
trzymajace informacje o tym, czy ta metoda istnieje). Rozwiazanie
metoda cepa, bardzo mi sie nie podoba, ale jak na ta chwile jedyne
dzialajace.

Pozdrawiam
Jachu
Technical Details
Message-ID: <1156587038.612810.251440@b28g2000cwb.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!b28g2000cwb.googlegroups.com!not-for-mail
References: <1156527006.131474.273750@b28g2000cwb.googlegroups.com> <ecnfc7$rbs$1@news.onet.pl> <1156534325.219773.39940@m79g2000cwm.googlegroups.com> <ecnusm$938$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.glorb.com!postnews.google.com!b28g2000cwb.googlegroups.com!not-for-mail
From: "janu" <jachuf@gmail.com>
Newsgroups: pl.comp.lang.ruby
Subject: Re: Przeciazanie nazw
Date: 26 Aug 2006 03:10:38 -0700
Organization: http://groups.google.com
Lines: 57
Message-ID: <1156587038.612810.251440@b28g2000cwb.googlegroups.com>
References: <1156527006.131474.273750@b28g2000cwb.googlegroups.com>   <ecnfc7$rbs$1@news.onet.pl>   <1156534325.219773.39940@m79g2000cwm.googlegroups.com>   <ecnusm$938$1@news.onet.pl>
NNTP-Posting-Host: 83.238.70.51
Mime-Version: 1.0
X-Trace: posting.google.com 1156587042 5005 127.0.0.1 (26 Aug 2006 10:10:42 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Sat, 26 Aug 2006 10:10:42 +0000 (UTC)
In-Reply-To: <ecnusm$938$1@news.onet.pl>
User-Agent: G2/0.2
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.5) Gecko/20060731 Firefox/1.5.0.5 Flock/0.7.4.1,gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse@google.com
Injection-Info: b28g2000cwb.googlegroups.com; posting-host=83.238.70.51;   posting-account=ntEVaA0AAACC2OAaQ6hrHjnbG9iwpJgc
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit