aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQAEZZ <russian.devv@gmail.com>2023-02-03 18:58:51 -0600
committerQAEZZ <russian.devv@gmail.com>2023-02-03 18:58:51 -0600
commit76e945b3913a2ad34fd2ebbae79daa852a3c9c1a (patch)
tree2faad3b8bce71bb853c1f293fe1d072728b4ed4b
parent4405c1ba39b91bcea319d90faa3f39d577af5bcc (diff)
+ `.clj`; `.dart`; `.go`; `.r`; `.scala`; `.swift`
-rw-r--r--README.md11
-rw-r--r--src/clojure.clj6
-rw-r--r--src/dart.dart11
-rw-r--r--src/go.go38
-rw-r--r--src/r.r5
-rw-r--r--src/scala.scala7
-rw-r--r--src/swift.swift13
7 files changed, 88 insertions, 3 deletions
diff --git a/README.md b/README.md
index 1e3cf80..b7fb987 100644
--- a/README.md
+++ b/README.md
@@ -15,6 +15,11 @@ just godspeak in a variety of languages.
[Ruby]: https://github.com/The-Holy-Church-of-Terry-Davis/godspeak-bible/blob/main/src/ruby.rb
[CoffeeScript]: https://github.com/The-Holy-Church-of-Terry-Davis/godspeak-bible/blob/main/src/coffeescript.coffee
[Powershell]: https://github.com/The-Holy-Church-of-Terry-Davis/godspeak-bible/blob/main/src/powershell.ps1
+[Go]: https://github.com/The-Holy-Church-of-Terry-Davis/godspeak-bible/blob/main/src/go.go
+[Clojure]: https://github.com/The-Holy-Church-of-Terry-Davis/godspeak-bible/blob/main/src/clojure.clj
+[Dart]: https://github.com/The-Holy-Church-of-Terry-Davis/godspeak-bible/blob/main/src/dart.dart
+[R]: https://github.com/The-Holy-Church-of-Terry-Davis/godspeak-bible/blob/main/src/r.r
+[Swift]: https://github.com/The-Holy-Church-of-Terry-Davis/godspeak-bible/blob/main/src/swift.swift
**Languages currently done:**
| Language | Extension | Language | Extension |
@@ -25,6 +30,6 @@ just godspeak in a variety of languages.
| [Bash] | `.sh` | [Ruby] | `.rb` |
| [Java] (🤮) | `.java` | [CoffeeScript] | `.coffee` |
| [C#] (😎) | `.cs` | [Powershell] | `.ps1` |
-
-
-
+| [Go] | `.go` | [Clojure] | `.clj` |
+| [Dart] | `.dart` | [Scala] | `.scala` |
+| [R] | `.r` | [Swift] | `.swift` | \ No newline at end of file
diff --git a/src/clojure.clj b/src/clojure.clj
new file mode 100644
index 0000000..0e56324
--- /dev/null
+++ b/src/clojure.clj
@@ -0,0 +1,6 @@
+(defn random-line [file-path]
+ (let [lines (with-open [rdr (clojure.java.io/reader file-path)]
+ (doall (line-seq rdr)))]
+ (nth lines (int (rand (count lines))))))
+
+(println (random-line "vocab.txt"))
diff --git a/src/dart.dart b/src/dart.dart
new file mode 100644
index 0000000..ba6505d
--- /dev/null
+++ b/src/dart.dart
@@ -0,0 +1,11 @@
+import 'dart:io';
+import 'dart:math';
+
+void main() {
+ var file = new File('vocab.txt');
+ file.readAsLines().then((List<String> lines) {
+ var random = new Random();
+ var randomLine = lines[random.nextInt(lines.length)];
+ print(randomLine);
+ });
+}
diff --git a/src/go.go b/src/go.go
new file mode 100644
index 0000000..aef7926
--- /dev/null
+++ b/src/go.go
@@ -0,0 +1,38 @@
+package main
+
+import (
+ "bufio"
+ "fmt"
+ "math/rand"
+ "os"
+ "time"
+)
+
+func randomLine(fileName string) string {
+ rand.Seed(time.Now().UnixNano())
+ lines, err := readLines(fileName)
+ if err != nil {
+ fmt.Println("Error reading file:", err)
+ os.Exit(1)
+ }
+ return lines[rand.Intn(len(lines))]
+}
+
+func readLines(fileName string) ([]string, error) {
+ file, err := os.Open(fileName)
+ if err != nil {
+ return nil, err
+ }
+ defer file.Close()
+
+ var lines []string
+ scanner := bufio.NewScanner(file)
+ for scanner.Scan() {
+ lines = append(lines, scanner.Text())
+ }
+ return lines, scanner.Err()
+}
+
+func main() {
+ fmt.Println(randomLine("vocab.txt"))
+}
diff --git a/src/r.r b/src/r.r
new file mode 100644
index 0000000..bab5fa5
--- /dev/null
+++ b/src/r.r
@@ -0,0 +1,5 @@
+lines <- readLines("vocab.txt")
+
+random_line <- lines[sample(length(lines), 1)]
+
+print(random_line)
diff --git a/src/scala.scala b/src/scala.scala
new file mode 100644
index 0000000..894e787
--- /dev/null
+++ b/src/scala.scala
@@ -0,0 +1,7 @@
+object Main extends App {
+ import scala.io.Source
+ val fileName = "vocab.txt"
+ val lines = Source.fromFile(fileName).getLines.toList
+ val randomLine = lines(scala.util.Random.nextInt(lines.length))
+ println(randomLine)
+}
diff --git a/src/swift.swift b/src/swift.swift
new file mode 100644
index 0000000..ccc2b92
--- /dev/null
+++ b/src/swift.swift
@@ -0,0 +1,13 @@
+import Foundation
+
+let filePath = "vocab.txt"
+let fileURL = URL(fileURLWithPath: filePath)
+
+do {
+ let fileContents = try String(contentsOf: fileURL)
+ let lines = fileContents.components(separatedBy: "\n")
+ let randomLine = lines.randomElement()!
+ print(randomLine)
+} catch {
+ print("Error reading file")
+}