Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

3 876 Posts in 868 Topics- by 723 Members - Latest Member: tablarock

23 May 2012, 07:02
Select Language English | Russian ru | German
Main PageIRC Client KVIrc forumRussian talksСкриптингВопросы по основам KVSПересортировка строки(массива).
Pages: [1]
Print
Author Topic: Пересортировка строки(массива).  (Read 4469 times)
0 Members and 2 Guests are viewing this topic.
alexzulu
Постоялец
***

Репутация: 29
Posts: 181



View Profile Email
« on: 22 November 2007, 20:05 »

Мне понадобилось пересортировать строку. Поменять местами чётные и нечётные значения местами. Найти чтото вразумительное в помощи я не смог(может искал плохо)Cheesy. И в итоге появилось такое чудо.

Code:
%a = $option(stringlistRecentChannels)
%a = $str.replace(%a,",",":")
%channels[] = $str.split(",",%a)
%n = 0
foreach(%y,%channels)
{
%n++
}
for(%i=0;%i<%n;%i=$(%i+2))
{
%text1=%text1 %channels[%i]
}
for(%i=1;%i<%n;%i=$(%i+2))
{
%text2=%text2 %channels[%i]
}
%text1 = $str.stripleft(%text1)
%text2 = $str.stripleft(%text2)
%b1[] = $str.split(" ",%text1)
%b2[] = $str.split(" ",%text2)
%n = 0
foreach(%y,%b1)
{
%n++
}
for(%i=0;%i<%n;%i++)
{
%text=%text %b2[%i] %b1[%i]
}
%text = $str.stripleft(%text)
%text = $str.replace(%text,","," ")
echo %a
echo %text

Может кто подскажет можно ли это сделать както короче или может кто встречал функцию которая делает это.
Logged

сеть freenode, каналы #kvirc и #kvirc-ru
runkoff
Постоялец
***

Репутация: 22
Gender: Male
Posts: 130


847905
View Profile WWW Email
« Reply #1 on: 22 November 2007, 21:26 »

хм... может быть так?
Code:
%channels[] = $str.split("[:,]",$option(stringlistRecentChannels), r)

for(%i=1;%i<$length(%channels);%i=$(%i+2))
%text .= %channels[%i]%channels[%i-1]

echo $option(stringlistRecentChannels)
echo %text
Logged

alexzulu
Постоялец
***

Репутация: 29
Posts: 181



View Profile Email
« Reply #2 on: 22 November 2007, 22:37 »

Сразу видно профи. Из моих 30 с лишним строк сделать всего 5. Большое спасибо, а то я заморочался. +1 от меня.
Logged

сеть freenode, каналы #kvirc и #kvirc-ru
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic