June 2018 Update
This commit is contained in:
parent
ba8067c3b7
commit
22f33d4004
5278 changed files with 84726 additions and 14379 deletions
|
|
@ -1,32 +1,23 @@
|
|||
integer i, j, s;
|
||||
integer j;
|
||||
list l, x;
|
||||
data b;
|
||||
file f;
|
||||
text s, t;
|
||||
|
||||
l_bill(l, 0,
|
||||
"---------- Ice and Fire ------------",
|
||||
"",
|
||||
"fire, in end will world the say Some",
|
||||
"ice. in say Some",
|
||||
"desire of tasted I've what From",
|
||||
"fire. favor who those with hold I",
|
||||
"",
|
||||
"... elided paragraph last ...",
|
||||
"",
|
||||
"Frost Robert -----------------------");
|
||||
l = list("---------- Ice and Fire ------------",
|
||||
"",
|
||||
"fire, in end will world the say Some",
|
||||
"ice. in say Some",
|
||||
"desire of tasted I've what From",
|
||||
"fire. favor who those with hold I",
|
||||
"",
|
||||
"... elided paragraph last ...",
|
||||
"",
|
||||
"Frost Robert -----------------------");
|
||||
|
||||
i = -l_length(l);
|
||||
while (i) {
|
||||
b_cast(b, l[i]);
|
||||
f_b_affix(f, b);
|
||||
f_list(f, x, 0);
|
||||
j = l_length(x);
|
||||
s = 0;
|
||||
while (j) {
|
||||
o_space(s);
|
||||
s = 1;
|
||||
o_text(x[j -= 1]);
|
||||
for (, t in l) {
|
||||
file().b_affix(t).list(x, 0);
|
||||
for (j, s in x.reverse) {
|
||||
o_space(sign(j));
|
||||
o_text(s);
|
||||
}
|
||||
o_newline();
|
||||
i += 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
USING: io sequences splitting ;
|
||||
IN: rosetta-code.reverse-words
|
||||
|
||||
"---------- Ice and Fire ------------
|
||||
|
||||
fire, in end will world the say Some
|
||||
ice. in say Some
|
||||
desire of tasted I've what From
|
||||
fire. favor who those with hold I
|
||||
|
||||
... elided paragraph last ...
|
||||
|
||||
Frost Robert -----------------------"
|
||||
|
||||
"\n" split [ " " split reverse " " join ] map [ print ] each
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
local lines = {}
|
||||
for line in (s .. "\n"):gmatch("(.-)\n") do
|
||||
local this = {}
|
||||
for word in line:gmatch("%S+") do
|
||||
table.insert(this, 1, word)
|
||||
end
|
||||
lines[#lines + 1] = table.concat(this, " ")
|
||||
end
|
||||
print(table.concat(lines, "\n"))
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
MODULE ReverseWords;
|
||||
|
||||
FROM STextIO IMPORT
|
||||
WriteString, WriteLn;
|
||||
FROM Strings IMPORT
|
||||
Assign, Concat, Append;
|
||||
|
||||
CONST
|
||||
NL = CHR(10);
|
||||
Sp = ' ';
|
||||
Txt = "---------- Ice and Fire -----------" + NL +
|
||||
NL +
|
||||
"fire, in end will world the say Some" + NL +
|
||||
"ice. in say Some" + NL +
|
||||
"desire of tasted I've what From" + NL +
|
||||
"fire. favor who those with hold I" + NL +
|
||||
NL +
|
||||
"... elided paragraph last ..." + NL +
|
||||
NL +
|
||||
"Frost Robert -----------------------" + NL;
|
||||
|
||||
TYPE
|
||||
String400 = ARRAY [0 .. 399] OF CHAR;
|
||||
|
||||
PROCEDURE AddWord(Source: ARRAY OF CHAR; VAR INOUT Destination: ARRAY OF CHAR);
|
||||
VAR
|
||||
R: String400;
|
||||
BEGIN
|
||||
Concat(Source, Sp, R);
|
||||
Append(Destination, R);
|
||||
Assign(R, Destination);
|
||||
END AddWord;
|
||||
|
||||
VAR
|
||||
I: CARDINAL;
|
||||
SingleWord, CurrentLine: String400;
|
||||
C: CHAR;
|
||||
|
||||
BEGIN
|
||||
SingleWord := "";
|
||||
CurrentLine := "";
|
||||
FOR I := 0 TO HIGH(Txt) DO
|
||||
C := Txt[I];
|
||||
CASE C OF
|
||||
Sp:
|
||||
AddWord(SingleWord, CurrentLine);
|
||||
SingleWord := ""; |
|
||||
NL:
|
||||
AddWord(SingleWord, CurrentLine);
|
||||
WriteString(CurrentLine);
|
||||
WriteLn;
|
||||
SingleWord := "";
|
||||
CurrentLine := ""; |
|
||||
ELSE
|
||||
Append(C, SingleWord);
|
||||
END;
|
||||
END;
|
||||
END ReverseWords.
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
# Define a function to convert a list of strings to a single string.
|
||||
join is rest link (' ' eachboth link)
|
||||
|
||||
iterate (write join reverse (' ' string_split)) \
|
||||
\
|
||||
\
|
||||
'------------ Eldorado ----------' \
|
||||
'' \
|
||||
'... here omitted lines ...' \
|
||||
'' \
|
||||
'Mountains the "Over' \
|
||||
'Moon, the Of' \
|
||||
'Shadow, the of Valley the Down' \
|
||||
'ride," boldly Ride,' \
|
||||
'replied,--- shade The' \
|
||||
'Eldorado!" for seek you "If' \
|
||||
'' \
|
||||
'Poe Edgar -----------------------'
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
whack <- function(s) {
|
||||
paste( rev( unlist(strsplit(s, " "))), collapse=' ' ) }
|
||||
|
||||
poem <- unlist( strsplit(
|
||||
'------------ Eldorado ----------
|
||||
|
||||
... here omitted lines ...
|
||||
|
||||
Mountains the "Over
|
||||
Moon, the Of
|
||||
Shadow, the of Valley the Down
|
||||
ride," boldly Ride,
|
||||
replied,--- shade The
|
||||
Eldorado!" for seek you "If
|
||||
|
||||
Poe Edgar -----------------------', "\n"))
|
||||
|
||||
for (line in poem) cat( whack(line), "\n" )
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
> `{` <- function(s) rev(unlist(strsplit(s, " ")))
|
||||
> {"one two three four five"}
|
||||
[1] "five" "four" "three" "two" "one"
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
Red []
|
||||
foreach line
|
||||
split
|
||||
{---------- Ice and Fire ------------
|
||||
|
||||
fire, in end will world the say Some
|
||||
ice. in say Some
|
||||
desire of tasted I've what From
|
||||
fire. favor who those with hold I
|
||||
|
||||
... elided paragraph last ...
|
||||
|
||||
Frost Robert -----------------------} newline [
|
||||
print reverse split line " "
|
||||
]
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
Option Explicit
|
||||
|
||||
Sub Main()
|
||||
Dim Lines(9) As String, i&
|
||||
'Input
|
||||
Lines(0) = "------------- Ice And Fire -------------"
|
||||
Lines(1) = ""
|
||||
Lines(2) = "fire, in end will world the say Some"
|
||||
Lines(3) = "ice. in say Some"
|
||||
Lines(4) = "desire of tasted I've what From"
|
||||
Lines(5) = "fire. favor who those with hold I"
|
||||
Lines(6) = ""
|
||||
Lines(7) = "... elided paragraph last ..."
|
||||
Lines(8) = ""
|
||||
Lines(9) = "Frost Robert -----------------------"
|
||||
'Output
|
||||
For i = 0 To 9
|
||||
Debug.Print ReverseLine(Lines(i), " ")
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Private Function ReverseLine(Line As String, Optional Separat As String) As String
|
||||
Dim T, R, i&, j&, deb&, fin&
|
||||
If Len(Line) = 0 Then
|
||||
ReverseLine = vbNullString
|
||||
Else
|
||||
If Separat = "" Then Separat = " "
|
||||
T = Split(Line, Separat)
|
||||
ReDim R(UBound(T)): j = LBound(T)
|
||||
deb = UBound(T): fin = deb / 2
|
||||
For i = deb To fin Step -1
|
||||
R(j) = T(i)
|
||||
R(i) = T(j)
|
||||
j = j + 1
|
||||
Next i
|
||||
ReverseLine = Join(R, Separat)
|
||||
End If
|
||||
End Function
|
||||
Loading…
Add table
Add a link
Reference in a new issue