Dynamiczne tworzenie zmiennych.
Sqeeb - 11-05-2007 12:37
Dynamiczne tworzenie zmiennych.
Witam. Walcze z dynamicznym tworzeniem zmiennych, w zamyśle mam coś takiego:
> $str = int rand(256); > $asd . $str = "strutututu"; > print $asd . $str ."\n";
Chodzi tu o stworzenie zmiennej której nazway zaczynała by się od 'asd' a kończyła na liczbie wygenerowanej przez int rand(256), czy coś takiego jest wykonalne w perlu w jakiś sposób? Bo mi przy tym co wyżej zacytowałem wyrzuca error(próbowałem też z $asd.$str itp.).
Z góry dziękuje.
Pozdrawiam, Sqeeb
Sqeeb - 11-05-2007 12:37
On Sat, 21 Apr 2007 19:03:53 +0200 Sqeeb <sqeeb@o2.pl> wrote:
> wyrzuca error(próbowałem też z $asd.$str itp.).
Uprzedze tych 'politycznie poprawnych', chociaż powinienem był to zrobić w poprzednim poście:
> % ./test > Can't modify concatenation (.) or string in > scalar assignment at ./test line 5, near ""asd";" > Execution of ./test aborted due to compilation > errors. > %
To samo dla każdej próby.
Twelve Hungry Mammoths - 11-05-2007 12:37
On Sat, 21 Apr 2007 19:03:53 +0200, Sqeeb <sqeeb@o2.pl> wrote:
> Witam. > Walcze z dynamicznym tworzeniem zmiennych, w zamyśle mam > coś takiego: > >> $str = int rand(256); >> $asd . $str = "strutututu"; >> print $asd . $str ."\n"; > > Chodzi tu o stworzenie zmiennej której nazway zaczynała > by się od 'asd' a kończyła na liczbie wygenerowanej > przez int rand(256), czy coś takiego jest wykonalne w > perlu w jakiś sposób? Bo mi przy tym co wyżej zacytowałem > wyrzuca error(próbowałem też z $asd.$str itp.).
sprobuj: ${$asd . $str}
a nie prosciej uzyc tablicy czy hasza zamiast takich lamancow?
pzdr szeryf
Stachu 'Dozzie' K. - 11-05-2007 12:37
On 21.04.2007, Twelve Hungry Mammoths <someone@microsoft.com> wrote: > On Sat, 21 Apr 2007 19:03:53 +0200, Sqeeb <sqeeb@o2.pl> wrote: > >> Witam. >> Walcze z dynamicznym tworzeniem zmiennych, w zamyśle mam >> coś takiego: >> >>> $str = int rand(256); >>> $asd . $str = "strutututu"; >>> print $asd . $str ."\n"; >> >> Chodzi tu o stworzenie zmiennej której nazway zaczynała >> by się od 'asd' a kończyła na liczbie wygenerowanej >> przez int rand(256), czy coś takiego jest wykonalne w >> perlu w jakiś sposób? Bo mi przy tym co wyżej zacytowałem >> wyrzuca error(próbowałem też z $asd.$str itp.). > > sprobuj: ${$asd . $str} > > a nie prosciej uzyc tablicy czy hasza zamiast takich lamancow?
Toż to standardowa praktyka aby uzyskać emulację tablic. Tyle że w shellu (bez rozszerzeń), nie w Perlu :)
-- Secunia non olet. Stanislaw Klekot
Sqeeb - 11-05-2007 12:37
On Sat, 21 Apr 2007 19:08:34 +0200 "Twelve Hungry Mammoths" <someone@microsoft.com> wrote:
> On Sat, 21 Apr 2007 19:03:53 +0200, Sqeeb <sqeeb@o2.pl> wrote: > > > Witam. > > Walcze z dynamicznym tworzeniem zmiennych, w zamyśle mam > > coś takiego: > > > >> $str = int rand(256); > >> $asd . $str = "strutututu"; > >> print $asd . $str ."\n"; > > > > Chodzi tu o stworzenie zmiennej której nazway zaczynała > > by się od 'asd' a kończyła na liczbie wygenerowanej > > przez int rand(256), czy coś takiego jest wykonalne w > > perlu w jakiś sposób? Bo mi przy tym co wyżej zacytowałem > > wyrzuca error(próbowałem też z $asd.$str itp.). > > sprobuj: ${$asd . $str}
linia 5-ta: ${$asd . $str} = "strututut";
> % ./test > Modification of a read-only value attempted at ./test line 5. > %
> a nie prosciej uzyc tablicy czy hasza zamiast takich lamancow?
W moim wyobrazeniu narazie nie(wpadlo mi juz coś do głowy, ale wolałbym coby to zadziałało).
Sqeeb - 11-05-2007 12:37
On Sat, 21 Apr 2007 17:25:18 +0000 (UTC) "Stachu 'Dozzie' K." <dozzie@dynamit.im.pwr.wroc.pl.nospam> wrote:
> Toż to standardowa praktyka aby uzyskać emulację tablic. Tyle że > w shellu (bez rozszerzeń), nie w Perlu :)
A wiesz, że masz Pan racje? ;-] Dziekowa.
Pozdrawiam, Sqeeb
Sqeeb - 11-05-2007 12:37
Wykonywanie =?ISO-8859-2?Q?zawarto=B6ci?= zmiennej jako koduperlowego.
Zeby nie zaczynam nowego watku opisze tutaj.
mamy sobie $asd = $array[55]; i mamy $output = $asd; ale ni jak nie moge doprowadzic do stanu, w ktorym $output bedzie mialo zawartosc $array[55], czyli zawartosc $asd zostanie wykonana jako kod skryptu.
Any ideas?
To możliwe w ogóle?
Zdaje sobie sprawe, że tworze cuda, ale moge to bardzo prosto umotywować: mam idee ;-]
Pozdrawiam, Sqeeb
Krzysztof =?iso-8859-2?Q?Krzy=BFaniak?= - 11-05-2007 12:37
Sqeeb <sqeeb@o2.pl> writes:
> Zeby nie zaczynam nowego watku opisze tutaj. > > mamy sobie $asd = $array[55]; > i mamy $output = $asd; > ale ni jak nie moge doprowadzic do stanu, > w ktorym $output bedzie mialo zawartosc > $array[55], czyli zawartosc $asd zostanie > wykonana jako kod skryptu. > > Any ideas? > > To możliwe w ogóle?
eval, do
> Zdaje sobie sprawe, że tworze cuda, > ale moge to bardzo prosto umotywować: > mam idee ;-]
Posiedź w ciszy 10 minut, może przejdzie.
eloy -- -------e-l-o-y----------------------------e-l-o-y-@-k-o-f-e-i-n-a-.-n-e-t------
jak to dobrze, że są oceany - bez nich byłoby jeszcze smutniej
Szymon =?iso-8859-2?Q?Sok=F3=B3?= - 11-05-2007 12:37
On Sat, 21 Apr 2007 19:08:34 +0200, Twelve Hungry Mammoths wrote:
> On Sat, 21 Apr 2007 19:03:53 +0200, Sqeeb <sqeeb@o2.pl> wrote: [----] >> Chodzi tu o stworzenie zmiennej której nazway zaczynała >> by się od 'asd' a kończyła na liczbie wygenerowanej >> przez int rand(256), czy coś takiego jest wykonalne w >> perlu w jakiś sposób? Bo mi przy tym co wyżej zacytowałem >> wyrzuca error(próbowałem też z $asd.$str itp.). > > sprobuj: ${$asd . $str}
....a raczej ${"asd$str"} lub ${'asd'.$str}, bo jeśli dobrze zrozumiałem, nazwa ma się zaczynać od ciągu 'asd', a nie od wartości zmiennej $asd.
Po co tak się pieprzyć, też nie rozumiem - zwłaszcza, że to wymaga nieużywania strict vars i strict refs. -- Szymon Sokół (SS316-RIPE) -- Network Manager B Computer Center, AGH - University of Science and Technology, Cracow, Poland O http://home.agh.edu.pl/szymon/ PGP key id: RSA: 0x2ABE016B, DSS: 0xF9289982 F Free speech includes the right not to listen, if not interested -- Heinlein H
Bernard El-Hagin - 11-05-2007 12:37
Sqeeb <sqeeb@o2.pl> wrote:
> Zeby nie zaczynam nowego watku opisze tutaj. > > mamy sobie $asd = $array[55]; > i mamy $output = $asd; > ale ni jak nie moge doprowadzic do stanu, > w ktorym $output bedzie mialo zawartosc > $array[55], czyli zawartosc $asd zostanie > wykonana jako kod skryptu. > > Any ideas? > > To mo?liwe w ogóle? > > Zdaje sobie sprawe, ?e tworze cuda,
Raczej koszmary. Z cudami to ma niewiele wspolnego.
> ale moge to bardzo prosto umotywowa?: > mam idee ;-]
Zaloze sie, ze bledna.
-- Pozdrawiam, Bernard
Bernard El-Hagin - 11-05-2007 12:37
Sqeeb <sqeeb@o2.pl> wrote:
> Witam. > Walcze z dynamicznym tworzeniem zmiennych, w zamyśle mam > coś takiego: > >> $str = int rand(256); >> $asd . $str = "strutututu"; >> print $asd . $str ."\n"; > > Chodzi tu o stworzenie zmiennej której nazway zaczyna?a > by si? od 'asd' a ko?czy?a na liczbie wygenerowanej > przez int rand(256), czy coś takiego jest wykonalne w > perlu w jakiś sposób? Bo mi przy tym co wy?ej zacytowa?em > wyrzuca error(próbowa?em te? z $asd.$str itp.).
http://perl.plover.com/varvarname.html http://perl.plover.com/varvarname2.html http://perl.plover.com/varvarname3.html
-- Pozdrawiam, Bernard
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Tworzenie tabeli z =?ISO-8859-2?Q?nazw=B1_ustalan=B1_przez_?==?ISO-8859-2?Q?usera?=
"Zmiennicy" - strona internetowa serialu =?ISO-8859-2?Q?Stanis=B3?==?ISO-8859-2?Q?awa_Barei?=
[MySql] Jak =?ISO-8859-2?Q?por=F3wna=E6_wynik_zapytania_ze?==?ISO-8859-2?Q?_zmienn=B1=3F?=
[Oracle] Co do tworzenia aplikacji dla bazy Oracle
[oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?=
[pgsql] Zmienna jako pole NEW w trigger pl/pgSQL.
[MySQL/PHP] Wyszukiwanie rekordu przez kolumnę wskazaną przez zmienną
=?iso-8859-2?Q?=5Boracle_pl/sql=5D_r=F3=BFnice_w_tworzeniu_procedur?=
sql -> tworzenie nowej kolumny z dzielenia 2 innych i sortowanie po niej
[oracle] tworzenie kopii baz danych online
zanotowane.pldoc.pisz.plpdf.pisz.plmarcelq.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|