Rosetta Code/Tasks without examples: Difference between revisions
Content added Content deleted
m (→{{header|VBScript}}: added zkl header) |
(→{{header|zkl}}: added code) |
||
Line 222: | Line 222: | ||
=={{header|zkl}}== |
=={{header|zkl}}== |
||
This is a bit of a twist on the task: Programmer wants to know which tasks |
|||
<lang zkl></lang> |
|||
have not been implimeted by their favorite language. |
|||
<lang zkl></lang> |
|||
Uses libraries cURL and YAJL (yet another json library). |
|||
<lang zkl>var [const] CURL=Import("zklCurl"), YAJL=Import("zklYAJL")[0]; |
|||
fcn getTasks(language){ |
|||
continueValue,tasks,curl := "",Data(0,String), CURL(); // "nm\0nm\0...." |
|||
do{ // eg 5 times |
|||
page:=curl.get(("http://rosettacode.org/mw/api.php?" |
|||
"action=query&cmlimit=500" |
|||
"&format=json" |
|||
"&list=categorymembers" |
|||
"&cmtitle=Category:%s" |
|||
"&cmcontinue=%s").fmt(language,continueValue)); |
|||
page=page[0].del(0,page[1]); // get rid of HTML header |
|||
json:=YAJL().write(page).close(); |
|||
json["query"]["categorymembers"].pump(tasks,T("get","title")); |
|||
continueValue=json.find("continue") #{continue : -||,cmcontinue:page|954|19)} |
|||
.toList() # ( ("continue","-||"), ("cmcontinue","page|954|19") ) |
|||
.apply("concat","=").concat("&"); # continue=-||&cmcontinue=page|954|19 |
|||
}while(continueValue); |
|||
tasks |
|||
} |
|||
var allTasks=getTasks.future("Programming_Tasks"); // thread |
|||
var draftTasks=getTasks.future("Draft_Programming_Tasks"); // thread |
|||
var tasks=getTasks.future("zkl"); // thread |
|||
fcn newTasks{ |
|||
langTasks:=Dictionary(); tasks.pump(Void,langTasks.add.fp1(Void)); |
|||
unimplementedTasks:=allTasks.filter('wrap(nm){ (not langTasks.holds(nm)) }) |
|||
.extend(draftTasks.filter('wrap(nm){ (not langTasks.holds(nm)) })); |
|||
println("http://rosettacode.org/wiki/Reports:Tasks_not_implemented_in_Zkl\n"); |
|||
unimplementedTasks.pump(List()).sort().pump(Console.println); |
|||
} |
|||
newTasks();</lang> |
|||
{{out}} |
{{out}} |
||
<pre> |
<pre> |
||
$ zkl rs_tasks_without.zkl |
|||
http://rosettacode.org/wiki/Reports:Tasks_not_implemented_in_Zkl |
|||
15 Puzzle Game |
|||
15 puzzle solver |
|||
2048 |
|||
ASCII art diagram converter |
|||
AVL tree |
|||
Ackermann function |
|||
... |
|||
</pre> |
</pre> |