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 CreateSampleTextFilesPath
|> FindSampleTextFiles |> FindSampleTextFiles
let SelectRandomSampleFile = let SelectRandomSampleFile() =
let files = ListSampleFiles let files = ListSampleFiles
files.[Random().Next(0, files.Length)] files.[Random().Next(0, files.Length)]

6
WetPancake/DataServices.fs

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

15
WetPancake/ProductServices.fs

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

6
WetPancake/Script.fsx

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

14
WetPancake/SystemServices.fs

@ -4,8 +4,12 @@
let PickRandomNumber max = Random().Next(1, max); let PickRandomNumber max = Random().Next(1, max);
let PickRandomItem (rnd: int -> int) seq = (*This needs work.
//let index = rnd 0 ((Seq.length seq) - 1) If the seq passed in has count of 0,
//seq |> Seq.item index it causes exceptions further up the pipe*)
let index = Random().Next(Seq.length seq); let PickRandomItem seq =
seq |> Seq.item index 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")] [Parameters("gibberish level: int, sentences: int, file path: string")]
[Usage("> RequestTextFromFile 3 6 C:/yourfile.txt")] [Usage("> RequestTextFromFile 3 6 C:/yourfile.txt")]
public static string RequestTextFromFile(int gibberishLevel, int sentences, string filePath) => RequestTextFromFile(gibberishLevel, sentences, filePath); public static string RequestTextFromFile(int gibberishLevel, int sentences, string filePath) => RequestTextFromFile(gibberishLevel, sentences, filePath);
public static string test1()
{
return RequestRandomText();
}
} }
} }

Loading…
Cancel
Save