Ich versuche, einen Twitter-Bot zu schreiben, der auf Leute mit einem zufälligen Haiku antwortet, aber ich habe Probleme, die Struktur dafür in Javascript zu schaffen. In dem Code, den ich angehängt habe, sehen Sie, dass ich mit p5.js zwei Textdateien geladen habe, eine mit einem Haufen Substantive und die andere mit einer Reihe von Adjektiven. Ich teile sie dann mit Hilfe von Code, den ich gefunden habe, nach Silbe auf, aber ich kann nicht herausfinden, wie ich meine Liste in einzelne Arrays pro Silbe umwandeln kann.Trennende Wörter nach Syllable Count
wie "oneSyllable = []", "twoSyllable = []" usw.
Jede Hilfe wäre sehr appreciated- auch nur eine Erklärung, was die Regex-Funktion hilft es wäre. Dieser/(? = [^ Laeiouy] es | ed | [^ laeioy] e) $ /, '')
Gibt es auch eine einfachere Möglichkeit, dies innerhalb von Javascript zu tun? Mit p5 muss ich es über die Befehlszeile zum twitter-bot ausführen, was ich noch lernen muss. Wenn du weitere Informationen über die Herstellung eines Haiku-Twitter-Bot hast, lass es mich wissen! Ich habe ein paar Nachforschungen angestellt, aber ich kann keinen Quellcode für die verschiedenen da draußen finden.
Dies ist für einen Code endgültigen bald und ich bin weit weg von meiner Tiefe! Hoffe jemand kann helfen.
function setup() {
createCanvas(600, 6000);
fill(0);
loadStrings("./nouns.txt", doText);
loadStrings("./adjectives.txt", doText2);
}
function doText(data) {
for (var i=0; i<data.length; i++) {
text("Nouns list:", 5, 20);
text(data[i]+ ": " + (new_count(data[i])), 5, 20*i+50);
}
}
function doText2(data) {
for (var j=0; j<data.length; j++) {
text("Adjectives list:", 100, 20);
text(data[j]+ ": " + (new_count(data[j])), 100, 20*j+50);
}
}
function new_count(word) {
word = word.toLowerCase();
if(word.length <= 3) { return 1; }
word = word.replace(/(?=[^laeiouy]es|ed|[^laeiouy]e)$/, '');
word = word.replace(/^y/, '');
return word.match(/[aeiouy]{1,2}/g).length;
}