Thread View: pl.comp.lang.perl
6 messages
6 total messages
Started by Wojtek Garbacz
Fri, 17 Feb 2012 09:30
Co zwraca split?
Author: Wojtek Garbacz
Date: Fri, 17 Feb 2012 09:30
Date: Fri, 17 Feb 2012 09:30
8 lines
1014 bytes
1014 bytes
Splits the string EXPR into a list of strings and returns that list. To czemu to nie działa? $A1 = Mktime(split(/[-: ]/)); Podczas gdy to działa? ($A,$B,$C,$D,$E,$F)=split(/[-: ]/); $A1 = Mktime($A,$B,$C,$D,$E,$F); Z góry dzięki :-) Wojtek
Re: Co zwraca split?
Author: Stachu 'Dozzie' K.
Date: Fri, 17 Feb 2012 09:39
Date: Fri, 17 Feb 2012 09:39
14 lines
1565 bytes
1565 bytes
On 2012-02-17, Wojtek Garbacz <wojtek.b.garbacz@gmail.com> wrote: > Splits the string EXPR into a list of strings and returns that list. > To czemu to nie działa? > $A1 = Mktime(split(/[-: ]/)); > Podczas gdy to działa? > ($A,$B,$C,$D,$E,$F)=split(/[-: ]/); > $A1 = Mktime($A,$B,$C,$D,$E,$F); Zależy od tego, co robi funkcja Mktime() i na ile pól da się podzielić $_. -- Secunia non olet. Stanislaw Klekot
Re: Co zwraca split?
Author: Wojtek Garbacz
Date: Fri, 17 Feb 2012 10:15
Date: Fri, 17 Feb 2012 10:15
15 lines
1392 bytes
1392 bytes
On 2012-02-17 10:39, Stachu 'Dozzie' K. wrote: > On 2012-02-17, Wojtek Garbacz<wojtek.b.garbacz@gmail.com> wrote: >> Splits the string EXPR into a list of strings and returns that list. >> To czemu to nie działa? >> $A1 = Mktime(split(/[-: ]/)); >> Podczas gdy to działa? >> ($A,$B,$C,$D,$E,$F)=split(/[-: ]/); >> $A1 = Mktime($A,$B,$C,$D,$E,$F); > > Zależy od tego, co robi funkcja Mktime() i na ile pól da się > podzielić $_. > Dzięki - rada pomocna :-) Zatem drugie pytanie - jak wziąć tylko pierwszych sześć wartości z listy? w.
Re: Co zwraca split?
Author: Stachu 'Dozzie' K.
Date: Fri, 17 Feb 2012 10:23
Date: Fri, 17 Feb 2012 10:23
21 lines
1915 bytes
1915 bytes
On 2012-02-17, Wojtek Garbacz <wojtek.b.garbacz@gmail.com> wrote: > On 2012-02-17 10:39, Stachu 'Dozzie' K. wrote: >> On 2012-02-17, Wojtek Garbacz<wojtek.b.garbacz@gmail.com> wrote: >>> Splits the string EXPR into a list of strings and returns that list. >>> To czemu to nie działa? >>> $A1 = Mktime(split(/[-: ]/)); >>> Podczas gdy to działa? >>> ($A,$B,$C,$D,$E,$F)=split(/[-: ]/); >>> $A1 = Mktime($A,$B,$C,$D,$E,$F); >> >> Zależy od tego, co robi funkcja Mktime() i na ile pól da się >> podzielić $_. >> > Dzięki - rada pomocna :-) > Zatem drugie pytanie - jak wziąć tylko pierwszych sześć wartości z listy? (split ...)[0..5] -- Secunia non olet. Stanislaw Klekot
Re: Co zwraca split?
Author: Wojtek Garbacz
Date: Fri, 17 Feb 2012 11:31
Date: Fri, 17 Feb 2012 11:31
29 lines
2100 bytes
2100 bytes
On 2012-02-17 11:23, Stachu 'Dozzie' K. wrote: > On 2012-02-17, Wojtek Garbacz<wojtek.b.garbacz@gmail.com> wrote: >> On 2012-02-17 10:39, Stachu 'Dozzie' K. wrote: >>> On 2012-02-17, Wojtek Garbacz<wojtek.b.garbacz@gmail.com> wrote: >>>> Splits the string EXPR into a list of strings and returns that list. >>>> To czemu to nie działa? >>>> $A1 = Mktime(split(/[-: ]/)); >>>> Podczas gdy to działa? >>>> ($A,$B,$C,$D,$E,$F)=split(/[-: ]/); >>>> $A1 = Mktime($A,$B,$C,$D,$E,$F); >>> >>> Zależy od tego, co robi funkcja Mktime() i na ile pól da się >>> podzielić $_. >>> >> Dzięki - rada pomocna :-) >> Zatem drugie pytanie - jak wziąć tylko pierwszych sześć wartości z listy? > > (split ...)[0..5] > Dzięki znowu. Teraz problem polega na tym, że nie mogę go przekonać to traktowania wyjścia split-a jako tablicy: print (split(/[-: ]/))[0..5]; > syntax error at a.pl line 6, near ")[" # i przy okazji pierwsza kropka tego dwukropka w VIMie jest różowa, a druga czarna - czyli coś nie tak :-) print splice((split(/[-: ]/)),0,5); > Type of arg 1 to splice must be array (not split) at a.pl line 5, near "2)" Z góry dzięki za cierpliwość :-)
Re: Co zwraca split?
Author: Stachu 'Dozzie' K.
Date: Fri, 17 Feb 2012 11:48
Date: Fri, 17 Feb 2012 11:48
27 lines
2235 bytes
2235 bytes
On 2012-02-17, Wojtek Garbacz <wojtek.b.garbacz@gmail.com> wrote: >> (split ...)[0..5] >> > Dzięki znowu. Teraz problem polega na tym, że nie mogę go przekonać to > traktowania wyjścia split-a jako tablicy: > print (split(/[-: ]/))[0..5]; Bo nawiasy, których zamierzyłeś użyć do tablicy, zostały przejęte przez print. perldoc perlop, operator unary +. > > syntax error at a.pl line 6, near ")[" # i przy okazji pierwsza > kropka tego dwukropka w VIMie jest różowa, a druga czarna - czyli coś > nie tak :-) Owszem, definicja składni. Zresztą Perl w ogóle nie ma regularnej składni (nie jest definiowany przez gramatykę bezkontekstową), więc musisz się do tego przyzwyczaić. > print splice((split(/[-: ]/)),0,5); > > Type of arg 1 to splice must be array (not split) at a.pl line 5, > near "2)" splice() oczekuje tablicy, a nie listy. Musisz mu podać @tab. -- Secunia non olet. Stanislaw Klekot
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