Rosetta Code/Tasks without examples: Difference between revisions
Rosetta Code/Tasks without examples (view source)
Revision as of 18:57, 3 February 2024
, 3 months ago→{{header|Wren}}: Various changes including some to accommodate changes to the HTML.
m (→{{header|Phix}}: syntax coloured, use common code) |
(→{{header|Wren}}: Various changes including some to accommodate changes to the HTML.) |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 13:
=={{header|D}}==
<
import std.net.curl;
import std.range;
Line 47:
auto base = "http://rosettacode.org/wiki/";
tasks.take(3).each!(task => process(base, task));
}</
{{out}}
<pre>There are 100 doors in a row that are all initially closed.
Line 134:
=={{header|Go}}==
<
import (
Line 177:
time.Sleep(5 * time.Second) // wait 5 seconds before processing next task
}
}</
{{out}}
Line 270:
=={{header|Java}}==
{{trans|Kotlin}}
<
import java.net.URI;
import java.net.URISyntaxException;
Line 336:
tasks.stream().limit(limit).forEach(task -> process(client, base, task));
}
}</
=={{header|Julia}}==
{{trans|Go}}
<
function gettaskdescriptions(numtoprint = 3)
Line 358:
gettaskdescriptions()
</syntaxhighlight>
=={{header|Kotlin}}==
<
import java.net.http.HttpClient
import java.net.http.HttpRequest
Line 414:
}
}
}</
=={{header|Nim}}==
{{trans|Go}}
<
let re1 = re("""<li><a href="/wiki/(.*?)"""")
Line 437:
const Base = "http://rosettacode.org/wiki/"
const Limit = 3 # number of tasks to print out.
let re2 = re("""(?s)using any language you may know.</div>(.*?)<
for i, task in tasks:
var matches: array[2, string]
Line 448:
echo xmlnode.innerText() # Echo the tree as text.
if i == Limit - 1: break
os.sleep(5000) # Wait 5 seconds before processing next task.</
{{out}}
Line 537:
=={{header|Perl}}==
Slice and dice the HTML. Output is as for the other examples.
<
use warnings;
Line 553:
print "$title\n$task_at_hand\n\n";
sleep 10; # so you have time to read each task...
}</
=={{header|Phix}}==
Line 559:
Output similar to zkl, I assume the first four constants are self-explanatory.
{{libheader|Phix/libcurl}}
<!--<
<span style="color: #000080;font-style:italic;">-- demo\rosetta\Tasks_without_examples.exw</span>
<span style="color: #008080;">without</span> <span style="color: #008080;">js</span> <span style="color: #000080;font-style:italic;">-- (libcurl, file i/o, peek, progress..)</span>
Line 658:
<span style="color: #0000FF;">?</span><span style="color: #008000;">"done"</span>
<span style="color: #0000FF;">{}</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">wait_key</span><span style="color: #0000FF;">()</span>
<!--</
=={{header|Raku}}==
Line 664:
{{works with|Rakudo|2017.10}}
<syntaxhighlight lang="raku"
use Gumbo;
Line 672:
# Get list of Tasks
say "Updating Programming_Tasks list...";
my $page = "
my $html = $ua.get($page).content;
my $xmldoc = parse-html($html, :TAG<div>, :id<mw-pages>);
Line 694:
# Get the raw page
my $html = $ua.get: "
# Filter out the actual task description
Line 715:
sub cleanup ( $string ) {
$string.subst( /^.+ '</div>'/, '' )
}</
{{out|Abridged sample output}}
<div style="border-style: groove; margin: 50px; padding: 25px;">
Line 801:
Could output text by retrieving innerText instead of innerHTML in Slurp().
<
Dim oIE : Set oIE = CreateObject("InternetExplorer.Application")
Line 876:
End Function
</syntaxhighlight>
=={{header|Wren}}==
Line 882:
{{libheader|Wren-pattern}}
An embedded program so we can use the libcurl library.
<syntaxhighlight lang="wren">/* Rosetta_Code_Tasks_without_examples.wren */
import "./pattern" for Pattern
Line 921:
var unescs = [
["_", " "],
["\%
["\%27", "'"],
["\%C3\%A9", "é"],
Line 937:
}
var url = "
var content = getContent.call(url)
var p1 = Pattern.new("<li><a href/=\"//wiki//[+1^\"]\"")
Line 944:
var tasks = matches.map { |m| m.capsText[0] }.toList
for (task in tasks.take(3)) { // just show the first 3 say
var taskUrl = "
var html = getContent.call(taskUrl)
var text = "using any language you may know.</div>"
var start = html.indexOf(text)
var end = html.indexOf("<
html = html[start + text.count...end]
text = p2.replaceAll(html, "").replace(" ", "").trim()
Line 954:
System.print("\n****** %(title) ******\n")
System.print(text)
}</
<br>
which we embed in the following C program, build and run.
<
#include <stdio.h>
Line 1,131:
WrenVM* vm = wrenNewVM(&config);
const char* module = "main";
const char* fileName = "
char *script = readFile(fileName);
WrenInterpretResult result = wrenInterpret(vm, module, script);
Line 1,147:
free(script);
return 0;
}</
{{out}}
Line 1,154:
****** 100 doors ******
There are 100 doors in a row that are all initially closed.
You make 100 passes by the doors.
The first time through, visit every door and toggle the door (if the door is closed, open it; if it is open, close it).
The second time, only visit every 2nd door (door #2, #4, #6, ...), and toggle it.
The third time, visit every 3rd door (door #3, #6, #9, ...), etc, until you only visit the 100th door.
Line 1,165:
Answer the question: what state are the doors in after the last pass? Which are open, which are closed?
Alternate:
As noted in this page's discussion page, the only doors that remain open are those whose numbers are perfect squares.
Opening only those doors is an optimization that may also be expressed;
however, as should be obvious, this defeats the intent of comparing implementations across programming languages.
Line 1,174:
The Problem
The task
Show and compare the computed probabilities of success for the two strategies, here, on this page.
Line 1,198:
References
****** 15 puzzle game ******
Line 1,209:
Implement the Fifteen Puzzle Game.
The 15-puzzle is also known as:
Related Tasks
</pre>
Line 1,231:
Uses libraries cURL and YAJL (yet another json library).
<
fcn getTasks(language){
Line 1,276:
}
newTasks();</
{{out|Concise Output}}
<pre>
|