2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
10
Task/Reverse-a-string/S-lang/reverse-a-string-1.slang
Normal file
10
Task/Reverse-a-string/S-lang/reverse-a-string-1.slang
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
variable sa = "Hello, World", aa = Char_Type[strlen(sa)+1];
|
||||
init_char_array(aa, sa);
|
||||
array_reverse(aa);
|
||||
% print(aa);
|
||||
|
||||
% Unfortunately, strjoin() only joins strings, so we map char()
|
||||
% [sadly named: actually converts char into single-length string]
|
||||
% onto the array:
|
||||
|
||||
print( strjoin(array_map(String_Type, &char, aa), "") );
|
||||
17
Task/Reverse-a-string/S-lang/reverse-a-string-2.slang
Normal file
17
Task/Reverse-a-string/S-lang/reverse-a-string-2.slang
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
define init_unicode_array(a, buf)
|
||||
{
|
||||
variable len = strbytelen(buf), ch, p0 = 0, p1 = 0;
|
||||
while (p1 < len) {
|
||||
(p1, ch) = strskipchar(buf, p1, 1);
|
||||
if (ch < 0) print("oops.");
|
||||
a[p0] = ch;
|
||||
p0++;
|
||||
}
|
||||
}
|
||||
|
||||
variable su = "Σὲ γνωρίζω ἀπὸ τὴν κόψη";
|
||||
variable au = Int_Type[strlen(su)+1];
|
||||
init_unicode_array(au, su);
|
||||
array_reverse(au);
|
||||
% print(au);
|
||||
print(strjoin(array_map(String_Type, &char, au), "") );
|
||||
Loading…
Add table
Add a link
Reference in a new issue