From dd07e51adfc77bb28098fdbab472ee3682be1393 Mon Sep 17 00:00:00 2001 From: Nicco Kunzmann Date: Fri, 11 Aug 2017 11:22:50 +0200 Subject: [PATCH] add golang and link to online executor --- de/14-01.html | 2 +- js/languages.js | 40 ++++++++++++++++++++++++++++++++++++---- 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/de/14-01.html b/de/14-01.html index c9415af..b8d46b3 100644 --- a/de/14-01.html +++ b/de/14-01.html @@ -8,5 +8,5 @@

- +
diff --git a/js/languages.js b/js/languages.js index 88cbfba..dd02eb5 100644 --- a/js/languages.js +++ b/js/languages.js @@ -19,10 +19,38 @@ function updateLanguageGrep(regularExpression, text) { return "regex='" + regex + "'\ntext='" + text + "'\necho \"$text\" | grep -E \"$text\""; } +function updateLanguageGo(regularExpression, text) { + var regex = regularExpression.replace(/"/g, '\"'); + var text = text.replace(/"/g, '\"'); + return 'package main\n\n' + + 'import "fmt"\n' + + 'import "regexp"\n\n' + + 'func main() {\n' + + ' regex := "' + regex + '"\n' + + ' text := "' + text + '"\n\n' + + ' r, _ := regexp.Compile(regex)\n\n' + + ' fmt.Println(r.FindAllString(text, -1))\n' + + '}'; +} + updateLanguages = [ - {"name": "Python", "update": updateLanguagePython}, - {"name": "JavaScript", "update": updateLanguageJavaScript}, - {"name": "Grep in Linux Shell", "update": updateLanguageGrep}, + { + "name": "Python", + "update": updateLanguagePython, + "online": "http://pythontutor.com/visualize.html#mode=edit", + }, { + "name": "JavaScript", + "update": updateLanguageJavaScript, + "online": "https://jsfiddle.net/", + }, { + "name": "Grep in Linux Shell", + "update": updateLanguageGrep, + "online": "http://www.tutorialspoint.com/execute_bash_online.php", + }, { + "name": "Go", + "update": updateLanguageGo, + "online": "https://play.golang.org/", + }, ] function watchLanguageField(languageField, textElement, regex) { @@ -34,7 +62,11 @@ function watchLanguageField(languageField, textElement, regex) { div.classList.add("programming-language") var heading = document.createElement("h2"); heading.innerText = lang.name; - div.appendChild(heading); + var link = document.createElement("a"); + link.href = lang.online; + link.appendChild(heading) + link.target = "_blank"; + div.appendChild(link); var textarea = document.createElement("textarea"); div.appendChild(textarea); textareas.push(textarea);