Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
2
Task/Narcissist/00-META.yaml
Normal file
2
Task/Narcissist/00-META.yaml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
from: http://rosettacode.org/wiki/Narcissist
|
||||
15
Task/Narcissist/00-TASK.txt
Normal file
15
Task/Narcissist/00-TASK.txt
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
Quoting from the [http://esolangs.org/wiki/Narcissist Esolangs wiki page]:
|
||||
|
||||
<blockquote>
|
||||
A '''narcissist''' (or '''Narcissus program''') is the decision-problem version of a [[quine]].
|
||||
</blockquote><blockquote>
|
||||
A quine, when run, takes no input, but produces a copy of its own source code at its output. In contrast, a narcissist reads a string of symbols from its input, and produces no output except a "1" or "accept" if that string matches its own source code, or a "0" or "reject" if it does not.
|
||||
</blockquote>
|
||||
|
||||
For concreteness, in this task we shall assume that symbol = character.
|
||||
|
||||
The narcissist should be able to cope with any finite input, whatever its length.
|
||||
|
||||
Any form of output is allowed, as long as the program always halts, and "accept", "reject" and "not yet finished" are distinguishable.
|
||||
<br><br>
|
||||
|
||||
1
Task/Narcissist/ALGOL-68/narcissist.alg
Normal file
1
Task/Narcissist/ALGOL-68/narcissist.alg
Normal file
|
|
@ -0,0 +1 @@
|
|||
STRINGs="STRINGs="";print(readstring=2*s[:9]+2*s[9:])";print(readstring=2*s[:9]+2*s[9:])
|
||||
1
Task/Narcissist/Ada/narcissist.ada
Normal file
1
Task/Narcissist/Ada/narcissist.ada
Normal file
|
|
@ -0,0 +1 @@
|
|||
with Ada.Text_IO;procedure Self is Q:Character:='"';A:String:="with Ada.Text_IO;procedure Self is Q:Character:='';A:String:=;B:String:=A(1..49)&Q&A(50..61)&Q&A&Q&A(62..A'Last);C:String:=Ada.Text_IO.Get_Line;begin Ada.Text_IO.Put_Line(Boolean'Image(B=C));end Self;";B:String:=A(1..49)&Q&A(50..61)&Q&A&Q&A(62..A'Last);C:String:=Ada.Text_IO.Get_Line;begin Ada.Text_IO.Put_Line(Boolean'Image(B=C));end Self;
|
||||
1
Task/Narcissist/AppleScript/narcissist-1.applescript
Normal file
1
Task/Narcissist/AppleScript/narcissist-1.applescript
Normal file
|
|
@ -0,0 +1 @@
|
|||
(display dialog "" default answer "")'s text returned = (do shell script ("osadecompile " & (path to me)'s POSIX path's quoted form))
|
||||
3
Task/Narcissist/AppleScript/narcissist-2.applescript
Normal file
3
Task/Narcissist/AppleScript/narcissist-2.applescript
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
true
|
||||
false
|
||||
error "User cancelled." number -128
|
||||
1
Task/Narcissist/Arturo/narcissist.arturo
Normal file
1
Task/Narcissist/Arturo/narcissist.arturo
Normal file
|
|
@ -0,0 +1 @@
|
|||
blk:[print (("blk:" ++ (as .code blk) ++ "do blk") = input "") ? -> "accept" -> "reject"]do blk
|
||||
4
Task/Narcissist/AutoHotkey/narcissist-1.ahk
Normal file
4
Task/Narcissist/AutoHotkey/narcissist-1.ahk
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
Narcissist(Input) {
|
||||
FileRead, Source, % A_ScriptFullPath
|
||||
return Input == Source ? "accept" : "reject"
|
||||
}
|
||||
2
Task/Narcissist/AutoHotkey/narcissist-2.ahk
Normal file
2
Task/Narcissist/AutoHotkey/narcissist-2.ahk
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
MsgBox, % Narcissist(FileOpen(A_ScriptFullPath, "r").Read()) "`n"
|
||||
. Narcissist("This isn't the text you're looking for.")
|
||||
1
Task/Narcissist/BBC-BASIC/narcissist.basic
Normal file
1
Task/Narcissist/BBC-BASIC/narcissist.basic
Normal file
|
|
@ -0,0 +1 @@
|
|||
INPUT a$:PRINT -(a$=$(PAGE+34)+$(PAGE+33)):REM INPUT a$:PRINT -(a$=$(PAGE+34)+$(PAGE+33)):REM
|
||||
1
Task/Narcissist/Befunge/narcissist.bf
Normal file
1
Task/Narcissist/Befunge/narcissist.bf
Normal file
|
|
@ -0,0 +1 @@
|
|||
900:0g~>:::0>`#0\#:5#:5#:+#<#~-#g*#0\#:5#+8#1+#\-#!*#-_$$"E"-!>_9-!.@
|
||||
28
Task/Narcissist/C-sharp/narcissist.cs
Normal file
28
Task/Narcissist/C-sharp/narcissist.cs
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
namespace Narcisisst
|
||||
{
|
||||
class Program
|
||||
{
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
const string path = @"E:\Narcisisst";
|
||||
string[] thisFile = Directory.GetFiles(path , "Program.cs");
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
foreach (string readLine in File.ReadLines(thisFile[0]))
|
||||
{
|
||||
sb.Append(readLine);
|
||||
sb.Append("\n");
|
||||
}
|
||||
|
||||
Console.WriteLine(sb);
|
||||
string input =String.Empty;
|
||||
input = Console.ReadLine();
|
||||
Console.WriteLine((Regex.IsMatch(sb.ToString(),input))?"accept":"reject");
|
||||
Console.ReadKey();
|
||||
}
|
||||
}
|
||||
}
|
||||
1
Task/Narcissist/C/narcissist.c
Normal file
1
Task/Narcissist/C/narcissist.c
Normal file
|
|
@ -0,0 +1 @@
|
|||
extern void*stdin;main(){ char*p = "extern void*stdin;main(){ char*p = %c%s%c,a[300],b[300];sprintf(a,p,34,p,34);fgets(b,300,stdin);putchar(48+!strcmp(a,b)); }",a[300],b[300];sprintf(a,p,34,p,34);fgets(b,300,stdin);putchar(48+!strcmp(a,b)); }
|
||||
1
Task/Narcissist/Common-Lisp/narcissist.lisp
Normal file
1
Task/Narcissist/Common-Lisp/narcissist.lisp
Normal file
|
|
@ -0,0 +1 @@
|
|||
#1=(PRINT (EQUAL (WRITE-TO-STRING '#1# :CIRCLE 1) (READ-LINE *STANDARD-INPUT*)))
|
||||
1
Task/Narcissist/D/narcissist.d
Normal file
1
Task/Narcissist/D/narcissist.d
Normal file
|
|
@ -0,0 +1 @@
|
|||
import std.file; import std.stdio; import std.string; void main() { auto source = readText("narcissist.d").chomp; auto input = readln().chomp(); if (source == input) writeln("accept"); else writeln("reject"); }
|
||||
1
Task/Narcissist/Forth/narcissist.fth
Normal file
1
Task/Narcissist/Forth/narcissist.fth
Normal file
|
|
@ -0,0 +1 @@
|
|||
: narcissist [ source ] sliteral compare 0= ;
|
||||
1
Task/Narcissist/FreeBASIC/narcissist.basic
Normal file
1
Task/Narcissist/FreeBASIC/narcissist.basic
Normal file
|
|
@ -0,0 +1 @@
|
|||
Dim As String a, s = "Dim As String a, s = Input a : Print (a = Left(s, 21) + Chr(34) + s + Chr(34) + Mid(s, 47, 3) + Mid(s, 23, 108)) + Mid(s, 54, 3)" : Input a : Print (a = Left(s, 21) + Chr(34) + s + Chr(34) + Mid(s, 47, 3) + Mid(s, 23, 108))
|
||||
1
Task/Narcissist/Go/narcissist-1.go
Normal file
1
Task/Narcissist/Go/narcissist-1.go
Normal file
|
|
@ -0,0 +1 @@
|
|||
package main; import "os"; import "fmt"; import "bytes"; import "io/ioutil"; func main() {ios := "os"; ifmt := "fmt"; ibytes := "bytes"; iioutil := "io/ioutil"; zero := "Reject"; one := "Accept"; x := "package main; import %q; import %q; import %q; import %q; func main() {ios := %q; ifmt := %q; ibytes := %q; iioutil := %q; zero := %q; one := %q; x := %q; s := fmt.Sprintf(x, ios, ifmt, ibytes, iioutil, ios, ifmt, ibytes, iioutil, zero, one, x); in, _ := ioutil.ReadAll(os.Stdin); if bytes.Equal(in, []byte(s)) {fmt.Println(one);} else {fmt.Println(zero);};}\n"; s := fmt.Sprintf(x, ios, ifmt, ibytes, iioutil, ios, ifmt, ibytes, iioutil, zero, one, x); in, _ := ioutil.ReadAll(os.Stdin); if bytes.Equal(in, []byte(s)) {fmt.Println(one);} else {fmt.Println(zero);};}
|
||||
39
Task/Narcissist/Go/narcissist-2.go
Normal file
39
Task/Narcissist/Go/narcissist-2.go
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
)
|
||||
|
||||
func main() {
|
||||
s := fmt.Sprintf("%s%c%s%c\n", x, 0x60, x, 0x60)
|
||||
in, _ := ioutil.ReadAll(os.Stdin)
|
||||
if bytes.Equal(in, []byte(s)) {
|
||||
fmt.Println("Accept")
|
||||
} else {
|
||||
fmt.Println("Reject")
|
||||
}
|
||||
}
|
||||
|
||||
var x = `package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
)
|
||||
|
||||
func main() {
|
||||
s := fmt.Sprintf("%s%c%s%c\n", x, 0x60, x, 0x60)
|
||||
in, _ := ioutil.ReadAll(os.Stdin)
|
||||
if bytes.Equal(in, []byte(s)) {
|
||||
fmt.Println("Accept")
|
||||
} else {
|
||||
fmt.Println("Reject")
|
||||
}
|
||||
}
|
||||
|
||||
var x = `
|
||||
1
Task/Narcissist/Haskell/narcissist.hs
Normal file
1
Task/Narcissist/Haskell/narcissist.hs
Normal file
|
|
@ -0,0 +1 @@
|
|||
main = let fi t e c = if c then t else e in do ct <- getContents; putStrLn $ fi ['a','c','c','e','p','t'] ['r','e','j','e','c','t'] $ take (length ct - 1) ct == let q s = (s ++ show s) in q "main = let fi t e c = if c then t else e in do ct <- getContents; putStrLn $ fi ['a','c','c','e','p','t'] ['r','e','j','e','c','t'] $ take (length ct - 1) ct == let q s = (s ++ show s) in q "
|
||||
27
Task/Narcissist/Huginn/narcissist.huginn
Normal file
27
Task/Narcissist/Huginn/narcissist.huginn
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
#! /bin/sh
|
||||
exec huginn --no-argv -E "${0}"
|
||||
#! huginn
|
||||
|
||||
main() {
|
||||
c = "#! /bin/sh{1}~"
|
||||
"exec huginn --no-argv -E {3}${{0}}{3}{1}#! huginn{1}{1}~"
|
||||
"main() {{{1}{2}c = {3}{0}{3};{1}~"
|
||||
"{2}s = {3}{3};{1}~"
|
||||
"{2}while ( ( line = input() ) != none ) {{{1}~"
|
||||
"{2}{2}s += line;{1}~"
|
||||
"{2}}}{1}~"
|
||||
"{2}self = copy( c ).replace( {3}{5}{3}, {3}{3} )~"
|
||||
".format({1}{2}{2}c.replace( {3}{5}{3}, ~"
|
||||
"{3}{5}{4}{3}{4}n{4}t{4}t{4}{3}{3} ), ~"
|
||||
"{3}{4}n{3}, {3}{4}t{3}, {3}{4}{3}{3}, {3}{4}{4}{3}, ~"
|
||||
"{3}{5}{3}{1}{2});{1}~"
|
||||
"{2}print( s == self ? {3}1{4}n{3} : {3}0{4}n{3} );{1}}}{1}{1}";
|
||||
s = "";
|
||||
while ( ( line = input() ) != none ) {
|
||||
s += line;
|
||||
}
|
||||
self = copy( c ).replace( "~", "" ).format(
|
||||
c.replace( "~", "~\"\n\t\t\"" ), "\n", "\t", "\"", "\\", "~"
|
||||
);
|
||||
print( s == self ? "1\n" : "0\n" );
|
||||
}
|
||||
1
Task/Narcissist/Icon/narcissist.icon
Normal file
1
Task/Narcissist/Icon/narcissist.icon
Normal file
|
|
@ -0,0 +1 @@
|
|||
procedure main();yes:="Accept";no:="Reject";pat:="procedure main();yes:=$;no:=$;pat:=$;a:=[yes,no,pat];narc:=char(0)[0:0];pat?{while narc||:=tab(find(char(36))) do{narc||:=image(get(a));move(1)};narc||:=tab(0)};write(if read()==narc then yes else no);end";a:=[yes,no,pat];narc:=char(0)[0:0];pat?{while narc||:=tab(find(char(36))) do{narc||:=image(get(a));move(1)};narc||:=tab(0)};write(if read()==narc then yes else no);end
|
||||
6
Task/Narcissist/J/narcissist-1.j
Normal file
6
Task/Narcissist/J/narcissist-1.j
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#!/usr/bin/ijconsole
|
||||
main=:3 : 0 NB. tested under j602
|
||||
self=: '#!/j602/bin/jconsole',LF,'main=:',(5!:5<'main'),LF,'main''''',LF
|
||||
echo self -: stdin''
|
||||
)
|
||||
main''
|
||||
2
Task/Narcissist/J/narcissist-2.j
Normal file
2
Task/Narcissist/J/narcissist-2.j
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
$ ./narcissist.ijs <narcissist.ijs
|
||||
1
|
||||
1
Task/Narcissist/J/narcissist-3.j
Normal file
1
Task/Narcissist/J/narcissist-3.j
Normal file
|
|
@ -0,0 +1 @@
|
|||
narcissist=.(-:,~,2#{:)&'(-:,~,2#{:)&'''
|
||||
4
Task/Narcissist/J/narcissist-4.j
Normal file
4
Task/Narcissist/J/narcissist-4.j
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
(-:,~,2#{:)&'(-:,~,2#{:)&''' '(-:,~,2#{:)'
|
||||
0
|
||||
(-:,~,2#{:)&'(-:,~,2#{:)&''' '(-:,~,2#{:)&''(-:,~,2#{:)&'''''''
|
||||
1
|
||||
26
Task/Narcissist/Java/narcissist.java
Normal file
26
Task/Narcissist/Java/narcissist.java
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
|
||||
public class Narcissist {
|
||||
private static final String SOURCE = "import java.io.BufferedReader;%nimport java.io.IOException;%nimport java.io.InputStreamReader;%n%npublic class Narcissist {%n private static final String SOURCE = %c%s%c;%n private static final char QUOTE = 0x22;%n%n public static void main(String[] args) throws IOException {%n BufferedReader br = new BufferedReader(new InputStreamReader(System.in));%n StringBuilder sb = new StringBuilder();%n%n while (true) {%n String line = br.readLine();%n if (null == line) break;%n sb.append(line).append(System.lineSeparator());%n }%n%n String program = String.format(SOURCE, QUOTE, SOURCE, QUOTE, QUOTE, QUOTE, QUOTE, QUOTE);%n if (program.equals(sb.toString())) {%n System.out.println(%caccept%c);%n } else {%n System.out.println(%creject%c);%n }%n }%n}%n";
|
||||
private static final char QUOTE = 0x22;
|
||||
|
||||
public static void main(String[] args) throws IOException {
|
||||
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
while (true) {
|
||||
String line = br.readLine();
|
||||
if (null == line) break;
|
||||
sb.append(line).append(System.lineSeparator());
|
||||
}
|
||||
|
||||
String program = String.format(SOURCE, QUOTE, SOURCE, QUOTE, QUOTE, QUOTE, QUOTE, QUOTE);
|
||||
if (program.equals(sb.toString())) {
|
||||
System.out.println("accept");
|
||||
} else {
|
||||
System.out.println("reject");
|
||||
}
|
||||
}
|
||||
}
|
||||
1
Task/Narcissist/JavaScript/narcissist-1.js
Normal file
1
Task/Narcissist/JavaScript/narcissist-1.js
Normal file
|
|
@ -0,0 +1 @@
|
|||
var code='var q=String.fromCharCode(39);print("var code=" + q + code + q + "; eval(code)" == readline())'; eval(code)
|
||||
20
Task/Narcissist/JavaScript/narcissist-2.js
Normal file
20
Task/Narcissist/JavaScript/narcissist-2.js
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
var oFSO = new ActiveXObject("Scripting.FileSystemObject");
|
||||
function readfile(fname) {
|
||||
var h = oFSO.OpenTextFile(fname, 1, false);
|
||||
var result = h.ReadAll();
|
||||
h.Close();
|
||||
return result;
|
||||
}
|
||||
|
||||
if (0 === WScript.Arguments.UnNamed.Count) {
|
||||
WScript.Echo(WScript.ScriptName,"filename");
|
||||
WScript.Quit();
|
||||
}
|
||||
|
||||
// first read self
|
||||
var self = readfile(WScript.ScriptFullName);
|
||||
// read whatever file is given on commmand line
|
||||
var whatever = readfile(WScript.Arguments.UnNamed(0));
|
||||
|
||||
// compare and contrast
|
||||
WScript.Echo(self === whatever ? "Accept" : "Reject");
|
||||
2
Task/Narcissist/Julia/narcissist.julia
Normal file
2
Task/Narcissist/Julia/narcissist.julia
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
mysource = Base.read(Base.source_path(), String)
|
||||
println(Int(ARGS[1] == mysource))
|
||||
9
Task/Narcissist/Kotlin/narcissist.kotlin
Normal file
9
Task/Narcissist/Kotlin/narcissist.kotlin
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
// version 1.1.0 (run on Windows 10)
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val text = java.io.File("narcissist.kt").readText()
|
||||
println("Enter the number of lines to be input followed by those lines:\n")
|
||||
val n = readLine()!!.toInt()
|
||||
val lines = Array<String>(n) { readLine()!! }
|
||||
if (lines.joinToString("\r\n") == text) println("\naccept") else println("\nreject")
|
||||
}
|
||||
1
Task/Narcissist/Liberty-BASIC/narcissist.basic
Normal file
1
Task/Narcissist/Liberty-BASIC/narcissist.basic
Normal file
|
|
@ -0,0 +1 @@
|
|||
s$ = "s$ = Input a$ : Print (a$ = Left$(s$, 5) + chr$(34) + s$ + chr$(34) + Mid$(s$, 14, 3) + Mid$(s$, 6, 100)) + Mid$(s$, 23, 3)" : Input a$ : Print (a$ = Left$(s$, 5) + chr$(34) + s$ + chr$(34) + Mid$(s$, 14, 3) + Mid$(s$, 6, 100))
|
||||
2
Task/Narcissist/Mathematica/narcissist.math
Normal file
2
Task/Narcissist/Mathematica/narcissist.math
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
prog = "prog = ``;\nPrint[InputString[] == \n ToString[StringForm[prog, ToString[prog, InputForm]]]];";
|
||||
Print[InputString[] == ToString[StringForm[prog, ToString[prog, InputForm]]]];
|
||||
25
Task/Narcissist/Nanoquery/narcissist.nanoquery
Normal file
25
Task/Narcissist/Nanoquery/narcissist.nanoquery
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
import Nanoquery.IO
|
||||
|
||||
// get a file tied to this program's source
|
||||
$f = new(File, $args[len($args) - 1])
|
||||
|
||||
// get the source and split across lines
|
||||
$source = split($f.readAll(), "\n")
|
||||
|
||||
// read that amount of lines from the console
|
||||
$in = list(len($source))
|
||||
for ($i = 0) ($i < len($source)) ($i = $i + 1)
|
||||
append $in input()
|
||||
end
|
||||
|
||||
// check line by line
|
||||
for ($i = 0) ($i < len($in)) ($i = $i + 1)
|
||||
// check if the lines are equal
|
||||
if ($in[$i] != $source[$i])
|
||||
println "Reject"
|
||||
exit
|
||||
end
|
||||
end
|
||||
|
||||
// if we got here, the lines are the same
|
||||
println "Accept"
|
||||
1
Task/Narcissist/Nim/narcissist.nim
Normal file
1
Task/Narcissist/Nim/narcissist.nim
Normal file
|
|
@ -0,0 +1 @@
|
|||
import strutils; let a = "import strutils; let a = $#; echo ord(stdin.readAll == a % (chr(34) & a & chr(34)) & chr(10))"; echo ord(stdin.readAll == a % (chr(34) & a & chr(34)) & chr(10))
|
||||
1
Task/Narcissist/PARI-GP/narcissist.parigp
Normal file
1
Task/Narcissist/PARI-GP/narcissist.parigp
Normal file
|
|
@ -0,0 +1 @@
|
|||
narcissist()=input()==narcissist
|
||||
3
Task/Narcissist/Perl/narcissist-1.pl
Normal file
3
Task/Narcissist/Perl/narcissist-1.pl
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# this is file narc.pl
|
||||
local $/;
|
||||
print do { open 0; <0> } eq <> ? "accept" : "reject";
|
||||
1
Task/Narcissist/Perl/narcissist-2.pl
Normal file
1
Task/Narcissist/Perl/narcissist-2.pl
Normal file
|
|
@ -0,0 +1 @@
|
|||
perl narc.pl < narc.pl
|
||||
4
Task/Narcissist/Phix/narcissist.phix
Normal file
4
Task/Narcissist/Phix/narcissist.phix
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
(notonline)-->
|
||||
<span style="color: #008080;">without</span> <span style="color: #008080;">js</span> <span style="color: #000080;font-style:italic;">-- (file i/o)</span>
|
||||
<span style="color: #7060A8;">puts</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,{</span><span style="color: #008000;">"\n\ntrue\n\n"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"\n\nfalse\n\n"</span><span style="color: #0000FF;">}[</span><span style="color: #000000;">1</span><span style="color: #0000FF;">+(</span><span style="color: #7060A8;">gets</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">open</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">command_line</span><span style="color: #0000FF;">()[</span><span style="color: #000000;">2</span><span style="color: #0000FF;">],</span><span style="color: #008000;">"r"</span><span style="color: #0000FF;">))!=</span><span style="color: #7060A8;">gets</span><span style="color: #0000FF;">(</span><span style="color: #000000;">0</span><span style="color: #0000FF;">))])</span>
|
||||
<!--
|
||||
2
Task/Narcissist/PicoLisp/narcissist.l
Normal file
2
Task/Narcissist/PicoLisp/narcissist.l
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
(de narcissist (Str)
|
||||
(= Str (str narcissist)) )
|
||||
6
Task/Narcissist/PowerShell/narcissist-1.psh
Normal file
6
Task/Narcissist/PowerShell/narcissist-1.psh
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
function Narcissist
|
||||
{
|
||||
Param ( [string]$String )
|
||||
If ( $String -eq $MyInvocation.MyCommand.Definition ) { 'Accept' }
|
||||
Else { 'Reject' }
|
||||
}
|
||||
9
Task/Narcissist/PowerShell/narcissist-2.psh
Normal file
9
Task/Narcissist/PowerShell/narcissist-2.psh
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
Narcissist 'Banana'
|
||||
|
||||
Narcissist @'
|
||||
|
||||
Param ( [string]$String )
|
||||
If ( $String -eq $MyInvocation.MyCommand.Definition ) { 'Accept' }
|
||||
Else { 'Reject' }
|
||||
|
||||
'@
|
||||
7
Task/Narcissist/Python/narcissist-1.py
Normal file
7
Task/Narcissist/Python/narcissist-1.py
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
import sys
|
||||
with open(sys.argv[0]) as quine:
|
||||
code = raw_input("Enter source code: ")
|
||||
if code == quine.read():
|
||||
print("Accept")
|
||||
else:
|
||||
print("Reject")
|
||||
1
Task/Narcissist/Python/narcissist-2.py
Normal file
1
Task/Narcissist/Python/narcissist-2.py
Normal file
|
|
@ -0,0 +1 @@
|
|||
_='_=%r;print (_%%_==input())';print (_%_==input())
|
||||
20
Task/Narcissist/Quackery/narcissist.quackery
Normal file
20
Task/Narcissist/Quackery/narcissist.quackery
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
Welcome to Quackery.
|
||||
|
||||
Enter "leave" to leave the shell.
|
||||
|
||||
/O> [ this copy unbuild = ] is narcissist
|
||||
... $ "[ this copy unbuild = ]" narcissist
|
||||
...
|
||||
|
||||
Stack: 1
|
||||
|
||||
/O> drop
|
||||
... $ "Nothing is more important than my egomania. -- Clara Oswald" narcissist
|
||||
...
|
||||
|
||||
Stack: 0
|
||||
|
||||
/O> leave
|
||||
...
|
||||
|
||||
Cheerio.
|
||||
1
Task/Narcissist/REXX/narcissist-1.rexx
Normal file
1
Task/Narcissist/REXX/narcissist-1.rexx
Normal file
|
|
@ -0,0 +1 @@
|
|||
/*REXX*/ say arg(1)=sourceline(1)
|
||||
1
Task/Narcissist/REXX/narcissist-2.rexx
Normal file
1
Task/Narcissist/REXX/narcissist-2.rexx
Normal file
|
|
@ -0,0 +1 @@
|
|||
/*REXX*/ say word('reject accept',1+(arg(1)=sourceline(1)))
|
||||
5
Task/Narcissist/Racket/narcissist.rkt
Normal file
5
Task/Narcissist/Racket/narcissist.rkt
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
-> ((lambda (x) (equal? (read) (list x (list 'quote x))))
|
||||
'(lambda (x) (equal? (read) (list x (list 'quote x)))))
|
||||
((lambda (x) (equal? (read) (list x (list 'quote x))))
|
||||
'(lambda (x) (equal? (read) (list x (list 'quote x)))))
|
||||
#t
|
||||
1
Task/Narcissist/Raku/narcissist.raku
Normal file
1
Task/Narcissist/Raku/narcissist.raku
Normal file
|
|
@ -0,0 +1 @@
|
|||
EVAL my $self = q{say slurp() eq q[EVAL my $self = q{]~$self~q[}]~10.chr ?? q{Beautiful!} !! q{Not my type.}}
|
||||
1
Task/Narcissist/Ruby/narcissist.rb
Normal file
1
Task/Narcissist/Ruby/narcissist.rb
Normal file
|
|
@ -0,0 +1 @@
|
|||
s = "s = %s%s%s; puts(gets.chomp == (s %% [34.chr, s, 34.chr]) ? 'accept' : 'reject')"; puts(gets.chomp == (s % [34.chr, s, 34.chr]) ? 'accept' : 'reject')
|
||||
10
Task/Narcissist/Rust/narcissist.rust
Normal file
10
Task/Narcissist/Rust/narcissist.rust
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
use std::io::{stdin, prelude::*};
|
||||
fn main() {
|
||||
let src = include_str!("main.rs");
|
||||
let mut input = String::new();
|
||||
stdin()
|
||||
.lock()
|
||||
.read_to_string(&mut input)
|
||||
.expect("Could not read from STDIN");
|
||||
println!("{}", src == input);
|
||||
}
|
||||
11
Task/Narcissist/Scala/narcissist.scala
Normal file
11
Task/Narcissist/Scala/narcissist.scala
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
import scala.io.StdIn
|
||||
|
||||
object Narcissist extends App {
|
||||
val text = scala.io.Source.fromFile("Narcissist.scala", "UTF-8").toStream
|
||||
println("Enter the number of lines to be input followed by those lines:\n")
|
||||
val n = StdIn.readInt()
|
||||
val lines = Stream {
|
||||
StdIn.readLine()
|
||||
}
|
||||
if (lines.mkString("\r\n") == text) println("\naccept") else println("\nreject")
|
||||
}
|
||||
1
Task/Narcissist/Sidef/narcissist.sidef
Normal file
1
Task/Narcissist/Sidef/narcissist.sidef
Normal file
|
|
@ -0,0 +1 @@
|
|||
say (File.new(__FILE__).open_r.slurp == ARGF.slurp);
|
||||
13
Task/Narcissist/Swift/narcissist.swift
Normal file
13
Task/Narcissist/Swift/narcissist.swift
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#! /usr/bin/swift
|
||||
import Foundation
|
||||
|
||||
let script = CommandLine.arguments[0]
|
||||
print(script)
|
||||
let mytext = try? String.init(contentsOfFile: script, encoding: .utf8)
|
||||
|
||||
var enteredtext = readLine()
|
||||
if mytext == enteredtext {
|
||||
print("Accept")
|
||||
} else {
|
||||
print("Reject")
|
||||
}
|
||||
18
Task/Narcissist/TXR/narcissist.txr
Normal file
18
Task/Narcissist/TXR/narcissist.txr
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
@(bind my64 "QChuZXh0IDphcmdzKUBmaWxlbmFtZUAobmV4dCBmaWxlbmFtZSlAZmlyc3RsaW5lQChmcmVlZm9ybSAiIilAcmVzdEAoYmluZCBpbjY0IEAoYmFzZTY0LWVuY29kZSByZXN0KSlAKGNhc2VzKUAgIChiaW5kIGZpcnN0bGluZSBgXEAoYmluZCBteTY0ICJAbXk2NCIpYClAICAoYmluZCBpbjY0IG15NjQpQCAgKGJpbmQgcmVzdWx0ICIxIilAKG9yKUAgIChiaW5kIHJlc3VsdCAiMCIpQChlbmQpQChvdXRwdXQpQHJlc3VsdEAoZW5kKQ==")
|
||||
@(next :args)
|
||||
@filename
|
||||
@(next filename)
|
||||
@firstline
|
||||
@(freeform "")
|
||||
@rest
|
||||
@(bind in64 @(base64-encode rest))
|
||||
@(cases)
|
||||
@ (bind firstline `\@(bind my64 "@my64")`)
|
||||
@ (bind in64 my64)
|
||||
@ (bind result "1")
|
||||
@(or)
|
||||
@ (bind result "0")
|
||||
@(end)
|
||||
@(output)
|
||||
@result
|
||||
@(end)
|
||||
1
Task/Narcissist/Tcl/narcissist-1.tcl
Normal file
1
Task/Narcissist/Tcl/narcissist-1.tcl
Normal file
|
|
@ -0,0 +1 @@
|
|||
apply {{} {puts [expr {[gets stdin] eq [info level 0]}]}}
|
||||
1
Task/Narcissist/Tcl/narcissist-2.tcl
Normal file
1
Task/Narcissist/Tcl/narcissist-2.tcl
Normal file
|
|
@ -0,0 +1 @@
|
|||
apply {s {puts [expr {[gets stdin]eq[list {*}$s $s]}]}} {apply {s {puts [expr {[gets stdin]eq[list {*}$s $s]}]}}}
|
||||
1
Task/Narcissist/UNIX-Shell/narcissist.sh
Normal file
1
Task/Narcissist/UNIX-Shell/narcissist.sh
Normal file
|
|
@ -0,0 +1 @@
|
|||
cmp "$0" >/dev/null && echo accept || echo reject
|
||||
42
Task/Narcissist/VBA/narcissist.vba
Normal file
42
Task/Narcissist/VBA/narcissist.vba
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
Public Sub narcissist()
|
||||
quote = Chr(34)
|
||||
comma = Chr(44)
|
||||
cont = Chr(32) & Chr(95)
|
||||
rparen = Chr(41)
|
||||
n = Array( _
|
||||
"Public Sub narcissist()", _
|
||||
" quote = Chr(34)", _
|
||||
" comma = Chr(44)", _
|
||||
" cont = Chr(32) & Chr(95)", _
|
||||
" rparen = Chr(41)", _
|
||||
" n = Array( _", _
|
||||
"How many lines?", _
|
||||
"Line ", _
|
||||
" x = InputBox(n(5))", _
|
||||
" flag = True", _
|
||||
" For i = 0 To 5", _
|
||||
" If InputBox(n(6) & i) <> n(i) Then flag = False", _
|
||||
" Next i", _
|
||||
" For i = 0 To 20", _
|
||||
" If InputBox(n(6) & i + 6) <> quote & n(i) & quote & comma & cont Then flag = False", _
|
||||
" Next i", _
|
||||
" If InputBox(n(6) & 27) <> quote & n(21) & quote & rparen Then flag = False", _
|
||||
" For i = 7 To 21", _
|
||||
" If InputBox(n(6) & i + 21) <> n(i) Then flag = False", _
|
||||
" Next i", _
|
||||
" Debug.Print IIf(flag, 1, 0)", _
|
||||
"End Sub")
|
||||
x = InputBox(n(5))
|
||||
flag = True
|
||||
For i = 0 To 5
|
||||
If InputBox(n(6) & i) <> n(i) Then flag = False
|
||||
Next i
|
||||
For i = 0 To 20
|
||||
If InputBox(n(6) & i + 6) <> quote & n(i) & quote & comma & cont Then flag = False
|
||||
Next i
|
||||
If InputBox(n(6) & 27) <> quote & n(21) & quote & rparen Then flag = False
|
||||
For i = 7 To 21
|
||||
If InputBox(n(6) & i + 21) <> n(i) Then flag = False
|
||||
Next i
|
||||
Debug.Print IIf(flag, 1, 0)
|
||||
End Sub
|
||||
20
Task/Narcissist/Wren/narcissist.wren
Normal file
20
Task/Narcissist/Wren/narcissist.wren
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
import "os" for Process, Platform
|
||||
import "io" for File, Stdin, Stdout
|
||||
|
||||
var args = Process.allArguments
|
||||
var text = File.read(args[1]).trim()
|
||||
System.print("Enter the number of lines to be input followed by those lines:\n")
|
||||
Stdout.flush()
|
||||
var n = Num.fromString(Stdin.readLine())
|
||||
var lines = List.filled(n, null)
|
||||
for (i in 0...n) lines[i] = Stdin.readLine()
|
||||
var joiner = Platform.isWindows ? "\r\n" : "\n"
|
||||
var text2 = lines.join(joiner)
|
||||
System.print()
|
||||
if (text2 == text) {
|
||||
System.print("accept")
|
||||
} else if (text.startsWith(text2)) {
|
||||
System.print("not yet finished")
|
||||
} else {
|
||||
System.print("reject")
|
||||
}
|
||||
3
Task/Narcissist/Zkl/narcissist.zkl
Normal file
3
Task/Narcissist/Zkl/narcissist.zkl
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
stdin:=File.stdin.read();
|
||||
thisFileSrc:=File(System.argv[1]).read();
|
||||
println((stdin==thisFileSrc) and "input matches "+System.argv[1] or "No match");
|
||||
Loading…
Add table
Add a link
Reference in a new issue