Rosetta Code/Fix code tags: Difference between revisions
Content added Content deleted
m (Added the Sidef language) |
(→{{header|Tcl}}: added zkl) |
||
Line 838: | Line 838: | ||
} |
} |
||
set text [string map $replacements $text]</lang> |
set text [string map $replacements $text]</lang> |
||
=={{header|zkl}}== |
|||
<lang zkl>fcn replace(data,src,dstpat){ |
|||
re,n,buf:=RegExp(src),0,Data(); |
|||
while(re.search(data,True,n)){ |
|||
matched:=re.matched; // L(L(12,3),"c") |
|||
data[matched[0].xplode()]=re.sub(data,dstpat,buf); // "\1" --> "c" |
|||
n=matched[0].sum(0); // move past change |
|||
} |
|||
} |
|||
data:=File.stdin.read(); |
|||
foreach src,dst in (T( |
|||
T(0'|<(\w+)>|, 0'|<lang \1>|), T(0'|</(\w+)>|,"</" "lang>"), |
|||
T(0'|<code (\w+)>|,0'|<lang \1>|) )){ |
|||
replace(data,src,dst) |
|||
} |
|||
print(data.text);</lang> |
|||
Note: the "</" "lang>" to keep /lang the wiki from getting confused (it is string concatenation). |
|||
{{out}} |
|||
<pre> |
|||
$ cat wikisource.txt |
|||
lorem ipsum <c>some c code</c>dolor sit amet, <csharp>some |
|||
csharp code</csharp> consectetur adipisicing elit, <code r> |
|||
some r code </code>sed do eiusmod tempor incididunt |
|||
$ zkl bbb < wikisource.txt |
|||
lorem ipsum <lang c>some c code</lang>dolor sit amet, <lang csharp>some |
|||
csharp code</lang> consectetur adipisicing elit, <lang r> |
|||
some r code </lang>sed do eiusmod tempor incididunt |
|||
</pre> |
|||
{{omit from|Brlcad}} |
{{omit from|Brlcad}} |