blob: ec68d51792a139148798cd0ea01b09b5e6de135a [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001SYNOPSIS
2 string copy_bits(string src, string dest [, int srcstart
3 [, int deststart [, int copylen]]]);
4
5BESCHREIBUNG
6 Kopiert den Bitbereich [<srcstart> .. <srcstart> + <copylen>] aus dem
7 Bitstring <src> in den Bitstring <dest> beginnend an der Position
8 <deststart>. Die alten Werte von <dest> werden dabei ueberschrieben.
9
10 Der resultierende String wird zurueck geliefert, die beiden
11 Originalstrings bleiben unbeeinflusst.
12
13 Wird <srcstart> nicht angegeben, wird <src> von Anfang an kopiert.
14 Ist <srcstart> negativ, wird vom letzten Bit her gezaehlt (d.h. -1
15 bezeichnet das letzte Bit).
16
17 Wird <deststart> nicht angegeben, wird <dest> von Anfang an kopiert.
18 Ist <deststart> negativ, wird vom letzten Bit her gezaehlt (d.h. -1
19 bezeichnet das letzte Bit).
20
21 Wird <copylen> nicht angegeben wird, so wird der gesamte Bitstring
22 <src> kopiert. Das Resultat besteht dann aus dem Bitstring <dest>
23 bis zur Position <deststart>, gefolgt von <src> ab der Position
24 <srcstart>.
25
26 Wenn <copylen> negativ ist, werden abs(<copylen>) _vor_ <srcstart> in
27 das Resultat kopiert.
28
29BEISPIELE
30 copy_bits(src, dest, 10) === src[10..]
31 copy_bits(src, dest, 10, 5) === dest[0..4] + src[10..]
32 copy_bits(src, dest, 10, 5, 3) === dest[0..4] + src[10..12] + dest[8..]
33
34 (Die Notation src[] / dest[] dient nur der Illustration!)
35
36AENDERUNGEN
37 Eingefuehrt in LDMud 3.2.9
38
39SIEHE AUCH
40 clear_bit(E), set_bit(E), test_bit(E), next_bit(E), last_bit(E),
41 count_bits(E), or_bits(E), xor_bits(E), invert_bits(E), and_bits(E)