32 lines
773 B
C#
32 lines
773 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
|
|
namespace MarkovGrams
|
|
{
|
|
class MainClass
|
|
{
|
|
public static void Main(string[] args)
|
|
{
|
|
if(args.Length != 3)
|
|
{
|
|
Console.WriteLine("Usage:");
|
|
Console.WriteLine(" ./MarkovGrams.exe <wordlist.txt> <order> <length>");
|
|
return;
|
|
}
|
|
|
|
string wordlistFilename = args[0];
|
|
int order = int.Parse(args[1]);
|
|
int desiredStringLength = int.Parse(args[2]);
|
|
|
|
IEnumerable<string> words = File.ReadLines(wordlistFilename).SelectMany(word => word.Trim().Split(' '));
|
|
IEnumerable<string> ngrams = NGrams.GenerateFlat(words, order);
|
|
|
|
UnweightedMarkovChain chain = new UnweightedMarkovChain(ngrams);
|
|
|
|
Console.WriteLine(chain.Generate(desiredStringLength));
|
|
}
|
|
}
|
|
}
|