Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
71
Task/Binary-strings/Ecstasy/binary-strings.ecstasy
Normal file
71
Task/Binary-strings/Ecstasy/binary-strings.ecstasy
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
module BinaryStrings {
|
||||
@Inject Console console;
|
||||
void run() {
|
||||
Byte[] mutableBytes = new Byte[]; // growable and mutable string of bytes
|
||||
Byte[] fixedLength = new Byte[10]; // fixed length string of bytes (all default to 0)
|
||||
Byte[] literal = [0, 1, 7, 0xff]; // a "constant" string of bytes
|
||||
console.print($|String creation and assignment:
|
||||
| mutableBytes={mutableBytes}
|
||||
| fixedLength={fixedLength}
|
||||
| literal={literal}
|
||||
|
|
||||
);
|
||||
|
||||
console.print($|Check if a string is empty:
|
||||
| mutableBytes.empty={mutableBytes.empty}
|
||||
| fixedLength.empty={fixedLength.empty}
|
||||
| literal.empty={literal.empty}
|
||||
|
|
||||
);
|
||||
|
||||
mutableBytes += 0; // add a byte (using an operator)
|
||||
mutableBytes.add(1); // add a byte (using the underlying method)
|
||||
mutableBytes.addAll(#07FF); // add multiple bytes (using the underlying method)
|
||||
console.print($|Append a byte to a string:
|
||||
| mutableBytes={mutableBytes}
|
||||
|
|
||||
);
|
||||
|
||||
console.print($|String comparison:
|
||||
| mutableBytes==literal = {mutableBytes==literal}
|
||||
| fixedLength==literal = {fixedLength==literal}
|
||||
|
|
||||
);
|
||||
|
||||
fixedLength = new Byte[4](i -> literal[i]); // create/copy from literal to fixedLength
|
||||
val clone = fixedLength.duplicate(); // clone the array
|
||||
console.print($|String cloning and copying:
|
||||
| fixedLength={fixedLength}
|
||||
| clone={clone}
|
||||
|
|
||||
);
|
||||
|
||||
console.print($|Extract a substring from a string:
|
||||
| mutableBytes[1..2]={mutableBytes[1..2]}
|
||||
| fixedLength[0..2]={fixedLength[0..2]}
|
||||
| literal[2..3]={literal[2..3]}
|
||||
|
|
||||
);
|
||||
|
||||
for (Int start = 0; Int index := fixedLength.indexOf(0x01, start); start = index) {
|
||||
fixedLength[index] = 0x04;
|
||||
}
|
||||
console.print($|Replace every occurrence of a byte in a string with another string:
|
||||
| fixedLength={fixedLength}
|
||||
|
|
||||
);
|
||||
|
||||
for (Int start = 0; Int index := mutableBytes.indexOf(#0107, start); start = index) {
|
||||
mutableBytes.replaceAll(index, #9876);
|
||||
}
|
||||
console.print($|Replace every occurrence of a string in a string with another string:
|
||||
| mutableBytes={mutableBytes}
|
||||
|
|
||||
);
|
||||
|
||||
console.print($|Join strings:
|
||||
| mutableBytes+fixedLength+literal={mutableBytes+fixedLength+literal}
|
||||
|
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue