Starting a web browser: Difference between revisions
Content added Content deleted
m (→{{header|Phix}}: no_empty now defaults to true) |
|||
Line 325: | Line 325: | ||
testbrowsertable(adressen) |
testbrowsertable(adressen) |
||
</lang> |
</lang> |
||
=={{header|Nim}}== |
|||
Based on Phix solution. Using same colors as Scala program. |
|||
<lang Nim>import os, strutils |
|||
func separateHouseNumber(address: string): tuple[street, house: string] = |
|||
let fields = address.splitWhitespace() |
|||
let last = fields[^1] |
|||
let penult = fields[^2] |
|||
if last[0].isDigit(): |
|||
let isdig = penult[0].isDigit() |
|||
if fields.len > 2 and isdig and not penult.startsWith("194"): |
|||
result.house = penult & ' ' & last |
|||
else: |
|||
result.house = last |
|||
elif fields.len > 2: |
|||
result.house = penult & ' ' & last |
|||
result.street = address[0..address.high-result.house.len].strip(leading = false, trailing = true) |
|||
const |
|||
Addresses = ["Plataanstraat 5", |
|||
"Straat 12", |
|||
"Straat 12 II", |
|||
"Dr. J. Straat 12", |
|||
"Dr. J. Straat 12 a", |
|||
"Dr. J. Straat 12-14", |
|||
"Laan 1940 - 1945 37", |
|||
"Plein 1940 2", |
|||
"1213-laan 11", |
|||
"16 april 1944 Pad 1", |
|||
"1e Kruisweg 36", |
|||
"Laan 1940-'45 66", |
|||
"Laan '40-'45", |
|||
"Langeloërduinen 3 46", |
|||
"Marienwaerdt 2e Dreef 2", |
|||
"Provincialeweg N205 1", |
|||
"Rivium 2e Straat 59.", |
|||
"Nieuwe gracht 20rd", |
|||
"Nieuwe gracht 20rd 2", |
|||
"Nieuwe gracht 20zw /2", |
|||
"Nieuwe gracht 20zw/3", |
|||
"Nieuwe gracht 20 zw/4", |
|||
"Bahnhofstr. 4", |
|||
"Wertstr. 10", |
|||
"Lindenhof 1", |
|||
"Nordesch 20", |
|||
"Weilstr. 6", |
|||
"Harthauer Weg 2", |
|||
"Mainaustr. 49", |
|||
"August-Horch-Str. 3", |
|||
"Marktplatz 31", |
|||
"Schmidener Weg 3", |
|||
"Karl-Weysser-Str. 6"] |
|||
HtmlHeader = """ |
|||
<html> |
|||
<head> |
|||
<title>Rosetta Code - Start a Web Browser</title> |
|||
<meta charset="UTF-8"> |
|||
</head> |
|||
<body bgcolor="#e6e6ff"> |
|||
<p align="center"> |
|||
<font face="Arial, sans-serif" size="5">Split the house number from the street name</font> |
|||
</p> |
|||
<p align="center"> |
|||
<table border="2"> <tr bgcolor="#9bbb59"> |
|||
<th>Address</th><th>Street</th><th>House Number</th> |
|||
""" |
|||
HtmlLine = "<tr bgcolor=$#><td>$#</td><td>$#</td><td>$#</td></tr>" |
|||
HtmlFooter = """ |
|||
</table> |
|||
</p> |
|||
</body> |
|||
</html> |
|||
""" |
|||
let htmlFile = open("test.html", fmWrite) |
|||
htmlFile.write HtmlHeader |
|||
for i, address in Addresses: |
|||
let color = if (i and 1) == 0: "#ebf1de" else: "#d8e4bc" |
|||
let (street, house) = address.separateHouseNumber() |
|||
htmlFile.write HtmlLine.format(color, address, street, house) |
|||
htmlFile.write HtmlFooter |
|||
htmlFile.close() |
|||
discard execShellCmd("firefox test.html") |
|||
os.sleep(5000) |
|||
removeFile("test.html")</lang> |
|||
{{out}} |
|||
Same as Phix with Scala colors. |
|||
=={{header|Perl}}== |
=={{header|Perl}}== |