Browse Source

End of session check-in.

Fixed the stick random file bug.
In the middle of the random item = 0 bug.
master
Craig Oates 6 years ago
parent
commit
10f602caef
  1. 2
      WetPancake/DataAccess.fs
  2. 6
      WetPancake/DataServices.fs
  3. 15
      WetPancake/ProductServices.fs
  4. 6
      WetPancake/Script.fsx
  5. 14
      WetPancake/SystemServices.fs
  6. 5
      WetPancakeCLI/ConsoleCommands.cs

2
WetPancake/DataAccess.fs

@ -12,7 +12,7 @@
CreateSampleTextFilesPath
|> FindSampleTextFiles
let SelectRandomSampleFile =
let SelectRandomSampleFile() =
let files = ListSampleFiles
files.[Random().Next(0, files.Length)]

6
WetPancake/DataServices.fs

@ -7,10 +7,8 @@
open DataCleaning
open System.Threading
let PickRandomWord words = PickRandomItem (Random().Next) words
let rec GenerateMarkovChain (map: Map<string, string List>) (state:string) chain =
let nextChoice = map.[state] |> PickRandomWord
let nextChoice = map.[state] |> PickRandomItem
if MatchText @"\." nextChoice then nextChoice :: chain
else
let currentWords =
@ -38,6 +36,6 @@
This isn't ideal but needed so please be careful when attempting to
remove this line.*)
Thread.Sleep(100)
yield GenerateMarkovSentence map (PickRandomWord startWords).Key
yield GenerateMarkovSentence map (PickRandomItem startWords).Key
}
result |> ConcatToString

15
WetPancake/ProductServices.fs

@ -7,18 +7,19 @@ module Pancake =
open DataProcessing
open DataStructuring
open DataServices
open System
let RequestRandomText() =
let data =
LoadFile SelectRandomSampleFile
|> ApplyStandardSetup
|> SortIntoGroups (PickRandomNumber 10)
|> GenerateMap
GenerateMarkovText (PickRandomNumber 10) data
let data =
LoadFile (SelectRandomSampleFile())
|> ApplyStandardSetup
|> SortIntoGroups (PickRandomNumber 5)
|> GenerateMap
GenerateMarkovText (PickRandomNumber 3) data
let RequestText (gibberishLevel: int) (sentences: int) =
let data =
LoadFile SelectRandomSampleFile
LoadFile (SelectRandomSampleFile())
|> ApplyStandardSetup
|> SortIntoGroups gibberishLevel
|> GenerateMap

6
WetPancake/Script.fsx

@ -22,14 +22,14 @@ open WetPancake
let ss_number = PickRandomNumber 10
let ss_item =
let items = seq {1 .. 10}
PickRandomItem (Random().Next) items
PickRandomItem items
// Data Access
let da_sampleFilePath = CreateSampleTextFilesPath
let da_sampleTextFiles = FindSampleTextFiles da_sampleFilePath
let da_sampleFiles = ListSampleFiles
let da_randomSampleFile = SelectRandomSampleFile
let da_randomSampleFile = SelectRandomSampleFile()
let da_file = LoadFile da_randomSampleFile
// Data Cleaning
@ -107,7 +107,7 @@ let ds_map7Item = ds_map7.Item(0)
// Data Services
let dss_text =
LoadFile SelectRandomSampleFile
LoadFile (SelectRandomSampleFile())
|> ReplaceArtifact "\""
|> ReplaceArtifact "\n\nIn"
|> ReplaceArtifact "\r"

14
WetPancake/SystemServices.fs

@ -4,8 +4,12 @@
let PickRandomNumber max = Random().Next(1, max);
let PickRandomItem (rnd: int -> int) seq =
//let index = rnd 0 ((Seq.length seq) - 1)
//seq |> Seq.item index
let index = Random().Next(Seq.length seq);
seq |> Seq.item index
(*This needs work.
If the seq passed in has count of 0,
it causes exceptions further up the pipe*)
let PickRandomItem seq =
if (Seq.length seq) = 0 then
seq |> Seq.item 0
else
let index = Random().Next(0, Seq.length seq);
seq |> Seq.item index

5
WetPancakeCLI/ConsoleCommands.cs

@ -43,5 +43,10 @@ namespace WetPancakeCLI
[Parameters("gibberish level: int, sentences: int, file path: string")]
[Usage("> RequestTextFromFile 3 6 C:/yourfile.txt")]
public static string RequestTextFromFile(int gibberishLevel, int sentences, string filePath) => RequestTextFromFile(gibberishLevel, sentences, filePath);
public static string test1()
{
return RequestRandomText();
}
}
}

Loading…
Cancel
Save