🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
6 messages
6 total messages Started by Jarosław Lubczyński Thu, 01 Jul 2010 07:49
Interpolacja łańcuchów - nieco trudniejsza jak sądzę.
#51936
Author: Jarosław Lubczyński
Date: Thu, 01 Jul 2010 07:49
49 lines
2101 bytes
Witam wszystkich :)

Mam następujący problem: chciałbym interpolować wartość łańcucha 
korzystając nie ze zdefiniowanych zmiennych ale z wartości zawartych w 
hashu, gdzie kluczami są nazwy zmiennych. Innymi słowy:

# to jest proste (o ile ie zrobiłem literówki ;-) ):

my $nick='Eljot';
print "My nick is $nick\n";

# wypisze oczywiście tekst
# "My nick is Eljot"

# a teraz chciałbym, żeby identyczny tekst wypisywał taki kod:

my %MyVars = ( NICK => 'Eljot');

print &MyStrEval( "My nick is $NICK", \%MyVars), "\n";

# ale także i taki:

print &MyStrEval( "My nick is ${NICK}", \%MyVars), "\n";

# i teraz

sub MyStrEval
{
#  ?????
}

=

Czy jest na to jakiś wbudowany mechanizm w Perlu lub gotowy moduł do 
pobrania z CPANa? Jeżeli nie, to proszę o czytelne wskazówki, jak ten 
problem ugryźć. Nie oczekuję (przynajmniej na początku...) gotowego 
kodu, jak go napiszę sam, to znowu się czegoś nauczę :). Niestety wujek 
G. nie miał jakoś ochoty mi pomóc...

Dzięki.

-- 
Pozdrawiam
Jarek Lubczyński
(eljot<NULL>90125 at gmail dot com)
Nawiasy trójkątne z zawartością zbędne są

There are 10 kinds of people:
Those who understand binary and those who don't
Re: Interpolacja łańcuchów - nieco trudniejsza jak sądzę.
#51937
Author: Adam Osuchowski
Date: Thu, 01 Jul 2010 08:29
12 lines
1358 bytes
Jarosław Lubczyński wrote:
> Czy jest na to jakiś wbudowany mechanizm w Perlu lub gotowy moduł do 
> pobrania z CPANa?

Jest. Np. Text::Printf. Nie robi tego dokładnie tak jak to sobie wymyśliłeś,
ale jest na tyle zbliżony, że będzie pasował. Znajdzie się pewnie też parę
innych modułów o podobnych własnościach.

> Niestety wujek G. nie miał jakoś ochoty mi pomóc...

A wujek ,,search'' na CPANie? Jak chciałeś znaleźć moduł na CPANie to
trzeba było tam szukać. Google nie zawsze jest najlepszy.
Re: Interpolacja łańcuchów - nieco trudniejsza jak sądzę.
#51938
Author: Jarosław Lubczyński
Date: Thu, 01 Jul 2010 08:57
30 lines
2092 bytes
W dniu 2010-07-01 10:29, Adam Osuchowski pisze:
> Jarosław Lubczyński wrote:
>> Czy jest na to jakiś wbudowany mechanizm w Perlu lub gotowy moduł do
>> pobrania z CPANa?
>
> Jest. Np. Text::Printf. Nie robi tego dokładnie tak jak to sobie wymyśliłeś,
> ale jest na tyle zbliżony, że będzie pasował. Znajdzie się pewnie też parę
> innych modułów o podobnych własnościach.

Faktycznie, dzięki. Rzeczywiście wygląda na pierwszy rzut oka, że będzie 
dla mnie użyteczny.

>
>> Niestety wujek G. nie miał jakoś ochoty mi pomóc...
>
> A wujek ,,search'' na CPANie? Jak chciałeś znaleźć moduł na CPANie to
> trzeba było tam szukać. Google nie zawsze jest najlepszy.

Bylem wcześniej na search'u, z braku innych pomysłów wpisałem 'string 
interpolation', dostałem stado odpowiedzi z których niczego niestety nie 
wyłuskałem. Zatem dzięki jeszcze raz.

-- 
Pozdrawiam
Jarek Lubczyński
(eljot<NULL>90125 at gmail dot com)
Nawiasy trójkątne z zawartością zbędne są

There are 10 kinds of people:
Those who understand binary and those who don't
Re: Interpolacja łańcuchów - nieco trudniejsza jak sądzę.
#51941
Author: Jarosław Lubczyński
Date: Thu, 01 Jul 2010 10:08
21 lines
1741 bytes
W dniu 2010-07-01 10:29, Adam Osuchowski pisze:
> Jarosław Lubczyński wrote:
>> Czy jest na to jakiś wbudowany mechanizm w Perlu lub gotowy moduł do
>> pobrania z CPANa?
>
> Jest. Np. Text::Printf. Nie robi tego dokładnie tak jak to sobie wymyśliłeś,
> ale jest na tyle zbliżony, że będzie pasował. Znajdzie się pewnie też parę
> innych modułów o podobnych własnościach.
>

I już działa tak jak oczekiwałem. Dzięki :)


-- 
Pozdrawiam
Jarek Lubczyński
(eljot<NULL>90125 at gmail dot com)
Nawiasy trójkątne z zawartością zbędne są

There are 10 kinds of people:
Those who understand binary and those who don't
Re: Interpolacja łańcuchów - nieco trudniejsza jak sądzę.
#51939
Author: Marcin Gryszkalis
Date: Sun, 04 Jul 2010 00:10
16 lines
1407 bytes
Jarosław Lubczyński wrote:
> Bylem wcześniej na search'u, z braku innych pomysłów wpisałem 'string
> interpolation', dostałem stado odpowiedzi z których niczego niestety nie
> wyłuskałem.

i nie trafiłeś na
http://search.cpan.org/~jenda/Interpolation-0.74/lib/Interpolation.pm
ani na
http://search.cpan.org/~nobull/String-Interpolate-0.3/lib/String/Interpolate.pm
? :)

pozdrawiam
-- 
Marcin Gryszkalis, PGP 0x9F183FA3
jabber jid:mg@fork.pl, gg:2532994
http://the.fork.pl
Re: Interpolacja łańcuchów - nieco trudniejsza jak sądzę.
#51940
Author: Jarosław Lubczyński
Date: Tue, 06 Jul 2010 09:17
26 lines
2192 bytes
W dniu 2010-07-04 02:10, Marcin Gryszkalis pisze:
> Jarosław Lubczyński wrote:
>> Bylem wcześniej na search'u, z braku innych pomysłów wpisałem 'string
>> interpolation', dostałem stado odpowiedzi z których niczego niestety nie
>> wyłuskałem.
>
> i nie trafiłeś na
> http://search.cpan.org/~jenda/Interpolation-0.74/lib/Interpolation.pm
> ani na
> http://search.cpan.org/~nobull/String-Interpolate-0.3/lib/String/Interpolate.pm
> ? :)
>

Hmmmm, ten pierwszy moduł widziałem, ale wydawało mi się, ze nie do 
końca odpowiada moim zamysłom, drugiego nie zauważyłem... A ten podany 
przez Adama jest bardzo intuicyjny w użyciu i świetnie się nadał :)


-- 
Pozdrawiam
Jarek Lubczyński
(eljot<NULL>90125 at gmail dot com)
Nawiasy trójkątne z zawartością zbędne są

There are 10 kinds of people:
Those who understand binary and those who don't
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads