aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-07-03 22:56:18 +0100
committerGitHub <noreply@github.com>2021-07-03 22:56:18 +0100
commitb9182f58d2da6eac651178983b8a57eaa165e3a3 (patch)
treef54d42e47e53b25026e1eacb988dd6aedf240a6b
parent8c7a69da2a6010d59c74dcc7c734ab49669829e5 (diff)
parent5b9b2ca8d4fe34077aa038f2368e0e98780aa82e (diff)
downloadperlweeklychallenge-club-b9182f58d2da6eac651178983b8a57eaa165e3a3.tar.gz
perlweeklychallenge-club-b9182f58d2da6eac651178983b8a57eaa165e3a3.tar.bz2
perlweeklychallenge-club-b9182f58d2da6eac651178983b8a57eaa165e3a3.zip
Merge pull request #4403 from Abigail/abigail/week-119
Abigail/week 119
-rw-r--r--challenge-119/abigail/README.md3
-rw-r--r--challenge-119/abigail/befunge-93/ch-1.bf932
-rw-r--r--challenge-119/abigail/r/ch-1.r20
-rw-r--r--challenge-119/abigail/scheme/ch-1.scm24
-rw-r--r--challenge-119/abigail/tcl/ch-1.tcl13
5 files changed, 61 insertions, 1 deletions
diff --git a/challenge-119/abigail/README.md b/challenge-119/abigail/README.md
index c2ba036a3f..2fc20d5e68 100644
--- a/challenge-119/abigail/README.md
+++ b/challenge-119/abigail/README.md
@@ -43,7 +43,10 @@ decimal `33`.
* [Pascal](pascal/ch-1.p)
* [Perl](perl/ch-1.pl)
* [Python](python/ch-1.py)
+* [R](r/ch-1.r)
* [Ruby](ruby/ch-1.rb)
+* [Scheme](scheme/ch-1.scm)
+* [Tcl](tcl/ch-1.tcl)
### Blog
[Swap Nibbles](https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-119-1.html)
diff --git a/challenge-119/abigail/befunge-93/ch-1.bf93 b/challenge-119/abigail/befunge-93/ch-1.bf93
index f8bc20d14e..96c1d3c1c9 100644
--- a/challenge-119/abigail/befunge-93/ch-1.bf93
+++ b/challenge-119/abigail/befunge-93/ch-1.bf93
@@ -1 +1 @@
-> & :1+!#@_ : 44* % 44** \ 44*/ + . 55+,
+& :1+!#@_ : 44* % 44** \ 44*/ + . 55+,
diff --git a/challenge-119/abigail/r/ch-1.r b/challenge-119/abigail/r/ch-1.r
new file mode 100644
index 0000000000..27819053fa
--- /dev/null
+++ b/challenge-119/abigail/r/ch-1.r
@@ -0,0 +1,20 @@
+#
+# See ../README.md
+#
+
+#
+# Run as: Rscript ch-1.r < input-file
+#
+
+stdin <- file ('stdin', 'r')
+repeat {
+ n <- readLines (stdin, n = 1)
+ if (length (n) == 0) {
+ break
+ }
+ n = as.integer (n)
+
+ cat (bitwOr (bitwOr (bitwAnd (n, bitwNot (0xFF)),
+ bitwShiftL (bitwAnd (n, 0x0F), 4)),
+ bitwShiftR (bitwAnd (n, 0xF0), 4)), "\n")
+}
diff --git a/challenge-119/abigail/scheme/ch-1.scm b/challenge-119/abigail/scheme/ch-1.scm
new file mode 100644
index 0000000000..8202ca7aaf
--- /dev/null
+++ b/challenge-119/abigail/scheme/ch-1.scm
@@ -0,0 +1,24 @@
+;;;
+;;; See ../README.md
+;;;
+
+;;;
+;;; Run as: guile --no-auto-compile ch-1.scm < input-file
+;;;
+
+
+(use-modules (ice-9 format))
+
+(define (main)
+ (define num (read))
+ (if (not (eof-object? num))
+ (begin
+ (format #t "~d\n" (logior (logand num (lognot #xFF))
+ (ash (logand num #x0F) 4)
+ (ash (logand num #xF0) -4)))
+ (main)
+ )
+ )
+)
+
+(main)
diff --git a/challenge-119/abigail/tcl/ch-1.tcl b/challenge-119/abigail/tcl/ch-1.tcl
new file mode 100644
index 0000000000..cb0b98d6a8
--- /dev/null
+++ b/challenge-119/abigail/tcl/ch-1.tcl
@@ -0,0 +1,13 @@
+#
+# See ../README.md
+#
+
+#
+# Run as: tclsh ch-1.tcl < input-file
+#
+
+while {[gets stdin num] >= 0} {
+ puts [expr ($num & ~0xFF) \
+ | ($num & 0x0F) << 4 \
+ | ($num & 0xF0) >> 4]
+}