🚀 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 Wojtek Garbacz Fri, 17 Feb 2012 09:30
Co zwraca split?
#52394
Author: Wojtek Garbacz
Date: Fri, 17 Feb 2012 09:30
8 lines
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?
#52395
Author: Stachu 'Dozzie' K.
Date: Fri, 17 Feb 2012 09:39
14 lines
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?
#52396
Author: Wojtek Garbacz
Date: Fri, 17 Feb 2012 10:15
15 lines
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?
#52397
Author: Stachu 'Dozzie' K.
Date: Fri, 17 Feb 2012 10:23
21 lines
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?
#52398
Author: Wojtek Garbacz
Date: Fri, 17 Feb 2012 11:31
29 lines
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?
#52399
Author: Stachu 'Dozzie' K.
Date: Fri, 17 Feb 2012 11:48
27 lines
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