Narcissist: Difference between revisions

→‎{{header|Go}}: 80 characters / line
(→‎{{header|Go}}: 80 characters / line)
Line 42:
 
<lang go>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);};}</lang>
A version respecting the 80 character line limit:
<lang go>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 = `</lang>
 
=={{header|Icon}} and {{header|Unicon}}==
1,707

edits