2011-01-16 62 views
9

Estoy buscando un generador de oraciones aleatorias en JavaScript que no requiera un GET externo a un recurso web para obtener datos del diccionario. He visto mucho en Perl y en Python, pero necesito que esto funcione en el navegador y en node.js con una latencia mínima.Generación de frases aleatorias en JavaScript

Respuesta

5
+0

Interesante. El mío es sujeto-verbo-objeto, mientras que el tuyo es una materia-acción más compleja. Sin embargo, no necesita determinar qué tipo de palabra utilizar si tiene bloques de oraciones preestablecidos que van en un cierto orden. –

0

Mikeal,

tengo una "clase" muy simple que puede ayudar con datos "semi-aleatorios". Es extremadamente fácil de usar y le dará diferentes tipos de cadenas para sus datos.

Tal vez ayude. Otras respuestas aquí le darán datos verdaderos de fuzz si eso es lo que está buscando. ¡Buena suerte!

Tenga en cuenta que existe una versión tanto de Java como de Javascript. El JS es más adelante en la página.

PhraseGenerator

http://metal-sole.com/2012/10/12/random-phrases-computers-is-funny/

+1

JS enlace muerto en este momento. – bendecko

3

Terminé usando https://www.npmjs.com/package/random-words, tiene la velocidad en mente y por lo tanto no hace objeto-verbo-objeto o cualquier oración estructura. Muy fácil de usar y fue lo suficientemente bueno para mis propósitos. Además pude instalar a través de la NGP

npm install random-words 

uso:

var sentence = words({min: 8, max: 12}).join(" "); // => "which least vegetable wool poem wife golden" 

^cuenta que estoy usando 'palabras' en lugar de RandomWords como se insinuó por los documentos, porque no estoy usando nodo o RequireJS (en cuyo caso establecería var randomWords = require('random-words')), en su lugar estoy usando un servidor Apache e incluyendo el script que me da acceso a la función de palabras.

0

Si sólo necesita un poco de texto que esto funciona muy bien:

var words = ["<b>spam</b>", "eggs", "<i>sausage</i>", "spam", "spam", "spam"]; 

    function bacon(){ 
    var result = []; 
    var i = parseInt(Math.random()*200); 
    while(i-- > 0) { 
     result.push(words[parseInt(Math.random()*words.length)]); 
    } 
    return result.join(" "); 
    } 
Cuestiones relacionadas