MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | SYNOPSIS |
| 2 | string copy_bits(string src, string dest [, int srcstart |
| 3 | [, int deststart [, int copylen]]]); |
| 4 | |
| 5 | BESCHREIBUNG |
| 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 | |
| 29 | BEISPIELE |
| 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 | |
| 36 | AENDERUNGEN |
| 37 | Eingefuehrt in LDMud 3.2.9 |
| 38 | |
| 39 | SIEHE 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) |