Wyjściowa nazwa języka programowania


45

Wyzwanie:

W wybranym języku programowania nie wprowadzaj i nie wysyłaj nazwy swojego języka programowania.

W porządku, prawda?

Ograniczenia:

  • W kodzie nie można używać żadnych znaków zawartych w nazwie języka programowania. Np. Jeśli używam Batch, nie wolno mi używać w moim kodzie znaków „B”, „t” „c” h. Pamiętaj, że wielkość liter ma znaczenie. Nadal mogę używać znaku „b”, ponieważ różni się on od „B”.
  • Możesz mieć „wyjście śmieci” przed lub po nazwie języka
  • Numer wersji nie liczy się jako część nazwy języka. Na przykład mogę użyć cyfry 3 w kodzie w mojej odpowiedzi, jeśli jest ona w Pythonie 3
  • Dane wyjściowe nazwy języka programowania nie rozróżniają wielkości liter.
  • Brutalne wymuszanie wszystkich możliwych kombinacji liter i nadzieja, że ​​dostaniesz swoją nazwę języka, jest zabroniona.

Przykładowe dane wyjściowe: (powiedzmy, że mój język programowania nazywa się Język) (✔ jeśli jest poprawny, w przeciwnym razie ✖)

  • Language
  • Body language is a type of non-verbal communication in which physical behavior, as opposed to words, is used to express or convey information. Such behavior includes facial expressions, body posture, gestures, eye movement, touch and the use of space.
  • Language 2.0 - © 1078 AD some company
  • foobar

To jest więc wygrywa najkrótszy kod.


7
Reguła dotycząca ograniczeń na wielkość liter jest bardzo niejednoznaczna. Jaka jest prawidłowa ortografia: BASIC Basic czy Basic? Jestem prawie pewien, że mogę znaleźć przykłady dla wszystkich trzech.
Level River St

6
Obowiązkowe „Po prostu kod jest pusty, ale flaga taka jak --versionniedozwolona”?
Wartość tuszu

87
Mają wielkość liter bez rozróżniania wielkości liter, a banowanie nazwy języka z rozróżnianiem wielkości liter pozwala na nudne rozwiązania, które po prostu wypisują nazwę języka zamieniając wielkie i małe litery.
xnor

11
Popełniłeś błąd, umożliwiając użytkownikom wysyłanie niepotrzebnych danych. Wszystko, co muszą zrobić, to użyć języka, w którym kompilator zawiera nazwę, gdy wystąpi błąd. To fajne, ale nie wyzwanie, na które
liczyłem

3
To pytanie naprawdę musi zostać określone, że należy uruchomić „Kod”. Większość języków pokaże swoją nazwę na zrzucie użycia, jeśli nie podasz żadnego kodu - na przykład „Java” lub „Groovy” w wierszu polecenia bez kodu wyświetli prawidłową nazwę, jednak jeśli podasz kod (nawet „ pusty „kod) jak w (groovy -e” ”) otrzymasz pustą odpowiedź. To samo dotyczy problemów z kompilacją, użycie kompilatora lub wyjście błędu nie oznacza, że ​​napisałeś program.
Bill K

Odpowiedzi:


67

Dane wyjściowe do STDERR

Wyjście do STDERR jest teraz na + 33 / -21 jako dozwolone domyślne, co jest dodatnie, ale kwestionowane. To jest odpowiedź CW do zbierania odpowiedzi, które wywołują błąd w języku, w którym komunikaty o błędach zawierają nazwę języka.

Haskell, 1 bajt

1

Błąd:

Parse error: naked expression at top level
Perhaps you intended to use TemplateHaskell

Lua, 1 bajt

1

Błąd:

lua: .code.tio:1: syntax error near <eof>

(nazwa pliku jest nieistotna)

Partia, 1 bajt

~

Błąd:

'~' is not recognized as an internal or external command,
operable program or batch file.

tinylisp, 5 bajtów

(c()1

Błąd:

Error: cannot cons to Int in tinylisp

R, 1 bajt

)

Błąd:

Error: unexpected ')' in ")"

Kod bajtowy Java, 0 bajtów

Błąd:

Exception in thread "main" java.lang.ClassFormatError: Truncated class file

Groovy, 1 bajt

a

Pamiętaj, że amożna go zastąpić dowolną inną postacią

Błąd:

groovy.lang.MissingPropertyException: No such property: a ...

MATLAB, 1 bajt

\

Błąd:

Error: Unexpected MATLAB operator.

PHP, 3 bajty

<?=

Błąd:

PHP Parse error:  syntax error, unexpected end of file in /home/runner/.code.tio on line 1

CJam, 1 bajt

/

Błąd:

/
^
RuntimeException: The stack is empty
Java exception:
java.lang.RuntimeException: The stack is empty
    at net.aditsu.cjam.CJam.pop(CJam.java:75)
    at net.aditsu.cjam.Op2.run(Op2.java:10)
    at net.aditsu.cjam.Block.run(Block.java:304)
    at net.aditsu.cjam.CJam.runCode(CJam.java:210)
    at net.aditsu.cjam.CJam.main(CJam.java:240)

Gałązka, 2 bajty

Twig to język szablonów napisany w PHP. Możliwe, że jest to poliglota.

{{
{%
{#

Błąd:

PHP Fatal error:  Uncaught exception 'Twig_Error_Syntax' with message [...] in [...][...]:n:
Stack trace:
#0 [...]

Komunikat różni się w zależności od wybranego programu.

SILOS , 2 bajty

x+

Wypróbuj online! Trywialnie wywołuje zachowanie nieudokumentowane. Silos to nazwa języka.

Python, 6 bajtów

pYTHON

Ponieważ ograniczenie znaków nie rozróżnia wielkich i małych liter, a wynik nie musi być w prawidłowej wielkości, jest to poprawna odpowiedź. Wyświetlany komunikat o błędzie wygląda mniej więcej tak:

Traceback (most recent call last):
  File ".code.tio", line 1, in <module>
    pYTHON
NameError: name 'pYTHON' is not defined

Wypróbuj online! (wyniki w zakładce „debugowanie”)

JavaScript, 10 bajtów

jAVAsCRIPT

Powoduje to następujący komunikat o błędzie lub podobny we wszystkich środowiskach:

ReferenceError: jAVAsCRIPT is not defined

QBIC , 6 bajtów

?b(12)

W 6 bajtach możemy umieścić na ekranie napotkany błąd QBIC: 9, oznaczający błąd przekroczenia granicy.

ForceLang, 2 bajty

()

Wystąpił błąd:

Exception in thread "main" lang.exceptions.IllegalInvocationException: null is not a function.
    at lang.ForceLang.parse(ForceLang.java:99)
    at lang.ForceLang.main(ForceLang.java:129)

Pip, 5 bajtów

1~`[`

(Uwaga: działa to w obecnej wersji z tego tekstu , 0.17.09.01 . Nie ma gwarancji, że interpreter nie zmieni się, aby obsługiwać ten błąd inaczej w przyszłości.)

Próbuje dopasować wyrażenie regularne z niepoprawnym składniowo wzorem. Wytworzony błąd będzie wyglądał mniej więcej tak:

Traceback (most recent call last):
  File "/opt/pip/pip.py", line 221, in <module>
    pip(interactive=False)
  File "/opt/pip/pip.py", line 206, in pip
    state.executeProgram(tree, args)
  File "/opt/pip/execution.py", line 56, in executeProgram
    returnVal = self.functionCall(mainFunction, cmdLineArgs)
  File "/opt/pip/execution.py", line 368, in functionCall
    returnVal = self.getRval(returnExpr)
  File "/opt/pip/execution.py", line 235, in getRval
    expr = self.evaluate(expr)
  File "/opt/pip/execution.py", line 213, in evaluate
    result = opFunction(*args)
  File "/opt/pip/execution.py", line 1134, in FIRSTMATCH
    matchObj = regex.asRegex().search(str(string))
  File "/opt/pip/ptypes.py", line 175, in asRegex
    self._compiled = re.compile(pyRegex)
  File "/usr/lib64/python3.6/re.py", line 233, in compile
    return _compile(pattern, flags)
  File "/usr/lib64/python3.6/re.py", line 301, in _compile
    p = sre_compile.compile(pattern, flags)
  File "/usr/lib64/python3.6/sre_compile.py", line 562, in compile
    p = sre_parse.parse(p, flags)
  File "/usr/lib64/python3.6/sre_parse.py", line 855, in parse
    p = _parse_sub(source, pattern, flags & SRE_FLAG_VERBOSE, 0)
  File "/usr/lib64/python3.6/sre_parse.py", line 416, in _parse_sub
    not nested and not items))
  File "/usr/lib64/python3.6/sre_parse.py", line 765, in _parse
    p = _parse_sub(source, state, sub_verbose, nested + 1)
  File "/usr/lib64/python3.6/sre_parse.py", line 416, in _parse_sub
    not nested and not items))
  File "/usr/lib64/python3.6/sre_parse.py", line 523, in _parse
    source.tell() - here)
sre_constants.error: unterminated character set at position 8

Stax, 2 bajty

0u

Błąd:

Stax runtime error: rational divide by zero

zh działa również.

atrament, 1 bajt

~

~na początku linii oznacza, że ​​linia jest instrukcją do wykonania, a nie tekstem do wydrukowania. Od jakiejkolwiek używanej wersji Inklecate TIO, jeśli nie ma nic po ~, interpreter ulega awarii z następującym błędem:

System.NullReferenceException: Object reference not set to an instance of an object
  at Ink.InkParser.LogicLine () [0x000b1] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.StringParser.ParseObject (Ink.StringParser+ParseRule rule) [0x00012] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.StringParser.OneOf (Ink.StringParser+ParseRule[] array) [0x0000a] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.InkParser.StatementAtLevel (Ink.InkParser+StatementLevel level) [0x00009] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.InkParser+<>c__DisplayClass134_0.<StatementsAtLevel>b__0 () [0x00000] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.StringParser.ParseObject (Ink.StringParser+ParseRule rule) [0x00012] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.StringParser.Interleave[T] (Ink.StringParser+ParseRule ruleA, Ink.StringParser+ParseRule ruleB, Ink.StringParser+ParseRule untilTerminator, System.Boolean flatten) [0x00040] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.InkParser.StatementsAtLevel (Ink.InkParser+StatementLevel level) [0x0004f] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.InkParser.Parse () [0x00000] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.Compiler.Compile () [0x00033] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.CommandLineTool..ctor (System.String[] args) [0x001a3] in <d64e27e7788347b2a5377c9e19bbdcab>:0 
  at Ink.CommandLineTool.Main (System.String[] args) [0x00000] in <d64e27e7788347b2a5377c9e19bbdcab>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.NullReferenceException: Object reference not set to an instance of an object
  at Ink.InkParser.LogicLine () [0x000b1] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.StringParser.ParseObject (Ink.StringParser+ParseRule rule) [0x00012] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.StringParser.OneOf (Ink.StringParser+ParseRule[] array) [0x0000a] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.InkParser.StatementAtLevel (Ink.InkParser+StatementLevel level) [0x00009] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.InkParser+<>c__DisplayClass134_0.<StatementsAtLevel>b__0 () [0x00000] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.StringParser.ParseObject (Ink.StringParser+ParseRule rule) [0x00012] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.StringParser.Interleave[T] (Ink.StringParser+ParseRule ruleA, Ink.StringParser+ParseRule ruleB, Ink.StringParser+ParseRule untilTerminator, System.Boolean flatten) [0x00040] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.InkParser.StatementsAtLevel (Ink.InkParser+StatementLevel level) [0x0004f] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.InkParser.Parse () [0x00000] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.Compiler.Compile () [0x00033] in <b1e5e74f4ee842fc961297862cf23e07>:0 
  at Ink.CommandLineTool..ctor (System.String[] args) [0x001a3] in <d64e27e7788347b2a5377c9e19bbdcab>:0 
  at Ink.CommandLineTool.Main (System.String[] args) [0x00000] in <d64e27e7788347b2a5377c9e19bbdcab>:0 

18
Czy nazwa nie zawiera pustego ciągu? : D
mbomb007

21
Ci, C i R są C Leve R .
DLosc

2
@ mbomb007, ale nie jest to znak, dlatego nie jest to znak zawarty w nazwie języka.
user253751

Wersję PHP można wyłączyć, jeśli się nie mylę. Używanie czegoś takiego <??będzie bardziej skuteczne i nie będzie można go wyłączyć.
Ismael Miguel

10
Kod bajtowy Java, 0 bajtów ”. Po raz pierwszy widzę triumf Javy ponad WSZYSTKIM innymi wymienionymi językami. :)
Kevin Cruijssen

49

SmileBASIC, 11 bajtów

sPsET.,1474

Odpowiednik SPSET 0,1474. Ustawia duszkę 0 na definicję 1474, która jest logo SmileBASIC.

Zrzut ekranu


43

MATL , 1 bajt

Y

Dane wyjściowe są przekazywane przez STDERR, co jest domyślnie dozwolone .

Dane wyjściowe kompilatora offline to

Error using matl_parse (line 339)
MATL error while parsing: Y not recognized at position 1
Error in matl (line 234)
    S = matl_parse(s, useTags); 

Lub wypróbuj online! (rozwiń sekcję „debugowanie”).


6
Czy powinieneś się z tym połączyć ?
wizzwizz4

@ wizzwizz4 Nie jestem pewien. Zapytałem na czacie i otrzymałem te dwie odpowiedzi , więc nie jest tak naprawdę jasne
Luis Mendo,

1
tak ale ty?
sagiksp

@sagiksp Zrobi wszystko, co spowoduje błąd, takie jak Xlub Z. Wynika to z faktu X, Yczy Zsą przedrostki nazw funkcji dwóch char, więc Ysama w sobie jest nieważny
Luis Mendo

37

R, 1 bajt:

T

Tjest aliasem stałej TRUE. Wynik dla powyższego to:

[1] TRUE

Ponieważ śmieci są dozwolone wokół nazwy, „R” w tym miejscu jest nazwą języka.

( Jak zauważono w komentarzu w innym miejscu , prawie każda pojedyncza litera i wiele glifów będzie działać równie dobrze, ponieważ powodują wyświetlenie komunikatu „Błąd:…”, który zawiera „r”.)


31

HTML, 24 20 bajtów

&#72;&#84;&#77;&#76;


HTML, 16 bajtów

Jak wskazał @Bob , nowoczesne przeglądarki rozpoznają jednostki HTML bez średników, chociaż technicznie jest to niepoprawny HTML. Oczywiście doskonale nadaje się do golfa kodowego.

&#72&#84&#77&#76


HTML, 4 bajty

I oczywiście nieciekawa odpowiedź.

html


Zobacz także moją odpowiedź CSS .


3
Można zapisać cztery znaki za pomocą przecinku zamiast: &#72;&#84;&#77;&#76;. Możesz zapisać dodatkowe cztery znaki, upuszczając średniki, kosztem technicznie nieprawidłowego kodu HTML (ale nadal działającego w nowoczesnych przeglądarkach).
Bob

Dlaczego się nie HTMLliczy?
Stop Harming Monica,

1
@OrangeDog „W kodzie nie można używać żadnego znaku zawartego w nazwie języka programowania”
darrylyeo

Ale htmlpowinien być ważny, zmniejszając wynik o 12 bajtów.
Christoph

3
@Clearer To jest kod golfowy! Tak długo, jak działa w co najmniej jednym środowisku, kogo obchodzi, czy W3C uważa, że ​​jest poprawny?
darrylyeo

25

Vim, 0 bajtów



Po uruchomieniu Vima, edytor wyświetla ekran powitalny, który wygląda następująco:

Ekran powitalny Vima

Możesz zobaczyć, jak mówi Vimtutaj:

Ekran powitalny Vima z podświetlonym vimem

Poprzednia odpowiedź:

Vim, 1 bajt

<Ctrl-C>

W Vimie 8 naciśnięcie wyświetli się Type :quit<Enter> to exit Vimw ostatnim wierszu. Nie jestem całkowicie pewien, czy to się liczy.


1
To powinno się liczyć. Ctrl-C faktycznie ma swój własny kod ASCII (kod 3, zwany także ETX lub „koniec tekstu”), więc jest to program czysto ASCII (jeśli nie ASCII do wydrukowania ). Możesz użyć tego, aby udowodnić, że program ma długość jednego bajtu, a wyświetlanie tekstu na ekranie się liczy.

4
Od kiedy „vim” jest językiem programowania?
DepressedDaniel

4
@DepressedDaniel vim jest językiem skryptowym, jeśli przyjrzysz się głębiej elementom wewnętrznym. Wszystkie te fantazyjne naciśnięcia klawiszy to instrukcje => programujesz, gdy kontrolujesz swój edytor.
bash0r

1
@DepressedDaniel czy to jest już ukończone? Jeśli nie, nie sądzę, że powinno się to liczyć.
Jaśniejsze

3
@dfeuer Przyszedłem z tobą zgodzić się, ponieważ skomentowałem to ponad 2 lata temu.
Jaśniejsze

20

Python, 15 bajtów

Python 2 (15)

exec"\150elp()"

Skleja to sznurki używa ósemkowy 150, który jest hi "elp()"i biegnie wynik. Spowoduje to wydrukowanie help()polecenia "Welcome to Python 3.5's help utility!"spełniającego wymagania.

Python 3 (17)

exec("\150elp()")

Wypróbuj online!


Nie wiem help, czy to się liczy, działa tylko w środowisku REPL.
xnor

Nadal drukuje Python. To wszystko, co jest wymagane.

1
Nieważne, pomyliłem się i to działa jako program. Przepraszam za to.
xnor

1
użyłeś litery „p”
Mat.

3
pjest dozwolone, ale Pnie jest. Reguła 1.

18

C, 0 bajtów.

/usr/lib/gcc/i586-linux-gnu/5/../../../i386-linux-gnu/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: error: ld returned 1 exit status

Wypróbuj online!


gdzie jest nazwa Czy odwołujesz się do tam umieszczonych znaków c?
Mam nadzieję, że będzie

3
Powinno to być oznaczone jako C (gcc), ponieważ inne kompilatory mają różne komunikaty.
orlp

Twoje cpochodzą ze źródeł bardzo zależnych od implementacji. Byłoby ładniej, gdybyś przynajmniej sprowokował komunikat, który zawiera cniektóre dane wyjściowe płyty kotła.
DepressedDaniel

1
@DepressedDaniel niezdefiniowany referen c e do 'main'
Loren Pechtel

@LorenPechtel Do przyjęcia, przegapiłem.
DepressedDaniel

17

Hę ?, 0 bajtów



(nie, w tym bloku kodu nic nie ma)

Nazwa języka pochodzi od jego wyników, więc ...

W implementacji, którą sprawdziłem , interpreter przyjmuje mod długości 8 każdego wiersza danego pliku i przełącza się w zależności od wyniku. Dla zera, drukuje Huh?. Ponieważ usuwa on końcowe znaki nowej linii, możesz także wykonać \nwersję 1-bajtową ( ).

Zauważ, że nie jest wyprowadzane do stderr, owijania skrzynek lub innych sztuczek. Po prostu bardzo zdezorientowany tłumacz Huha wreszcie się przydał.


13

V , 2 bajty

¬U

Wypróbuj online!

Oczywista odpowiedź brzmi:

év~

Wypróbuj online!

To jest „Wstaw literę„ v ”i przełącz wielkość liter. Ponieważ jednak zezwalasz na niepotrzebne dane wyjściowe przed / po nazwie języka, również to działa.

¬Komenda trwa dwa znaki dla wejścia i wstawia każdy znak ASCII między nimi. Jeśli nie podamy drugiego znaku, domyślnie zostanie automatycznie ustawiony na ÿ(ASCII 0xff), więc ten program wstawia każdy znak w kodowaniu Latin1 pomiędzy Ui ÿ.


13

pieprzenie mózgu , 54 bajty

+[[-<]-[->]<-]<.<<<<.>>>>-.<<-.<.>>.<<<+++.>>>---.<++.

Wyjścia brainfuck, zakładając, że 8-bitowa taśma jest otwarta po lewej stronie. Wypróbuj online!

Jak zawsze, częściowe kredyty trafiają do Hello, World! odpowiedzieć .

Alternatywy z inną obudową

Brainfuck (62 bajty):

+[<-[-<]-[->]<<]<---.<<<<<<--.>>>-.<+.<.>---.<<+++.>>---.<---.

BrainFuck (68 bajtów):

-[[-<]->+[->]<-]<<.<<<<<--.>>+.<-.+++++.>>>------.<<<<+++.>>++.<---.

12

MATLAB, 3 bajty

ver

Dane wyjściowe są następujące. Nieistotne informacje zostały zastąpione przez [...]). Niektóre części danych wyjściowych mogą ulec zmianie w zależności od wersji, zainstalowanych zestawów narzędzi itp.

-----------------------------------------------------------------------------------------
MATLAB Version: 8.6.0.267246 (R2015b)
MATLAB License Number: [...]
Operating System: [...]
Java Version: Java 1.7.0_60-b19 with [...]
-----------------------------------------------------------------------------------------
MATLAB                                                Version 8.6         (R2015b)
Communications System Toolbox                         Version 6.1         (R2015b)
Curve Fitting Toolbox                                 Version 3.5.2       (R2015b)
[...]
Wavelet Toolbox                                       Version 4.15        (R2015b)

Używa av i e

Twój język to Octave, więc nie możesz używać vi e.
JungHwan Min

6
Woops. Poprawione przez zmianę języka na Matlab (co zresztą było moim początkowym zamiarem)
Luis Mendo

12

Python, 27 53 49 48 45 bajtów

-3 bajty z @ wizzwizz4

exec eval('"IMpORT THIS".LOWER()'.swapcase())

Drukuje następujący tekst, który w pierwszym wierszu zawiera „Python”.

The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

1
@Arnauld naprawione!
Wartość tuszu

1
HELP()lub HELP(HELP)jest krótszy.
Gurupad Mamadapur

Nie ma znaczenia, czy zamienisz wielkość liter ciągu importu, ponieważ i tak czynisz go małymi literami. -3 bajty.
wizzwizz4

@GurupadMamadapur odpowiedź na Python 3 już ją obejmuje i lepiej (jestem całkiem pewna, że ​​mój kod byłby dokładnie taki sam), więc nie mam nastroju, aby z niej korzystać. Chyba się trzymam import this.
Wartość tuszu

@ValueInk W porządku.
Gurupad Mamadapur

12

Python 2 (1 bajt)

è

wynik...:

wynik


Czy na pewno jest to tylko 1 bajt?
Okx,

1
Zgoda. Ma 2 bajty w UTF-8
mbomb007,

Kluczem jest „non-ASCII” - spróbuj 0xa0(nbsp) lub w zasadzie dowolny inny wysoki bajt, który ci się podoba, a otrzymasz ten sam błąd!
John P,

3
Jest to 1 bajt w Win1252, który pokazuje komunikat o błędzie.
ATaco

10

> <> , 12 10 bajtów

"2,:o:2-o|

Spowoduje to ciągłe drukowanie> <>, dopóki tłumaczowi nie zabraknie miejsca.

Wypróbuj online!

Wersja 12-bajtowa poniżej dla tych, którzy lubią czyste wyjście. Zalecane przez Aarona (bez błędu, 1 wyjście)

":3+:o$1+oo;

Świetne rozwiązanie!
Emigna

@Emigna - Dzięki, ostateczna wersja była po kilku nieudanych golfach, ale całkiem mi się podoba, ponieważ z błędem drukuje> <> i łowi: D
Pelikan Teal

Niezłe ! Oto 14-bajtowa wersja, która drukuje się tylko raz i nie zawiera błędów:"-o-o-o;_!\ _!
Aaron,

@Aaron, jeśli sprawdzisz edycję, zrobiła to pierwsza wersja w wieku 12 lat. Podoba mi się jednak, jak czysto wygląda :)
Pelikan Teal

Podoba mi się twoja wersja 12-bajtowa (także 10-bajtowa :)), myślę, że powinieneś pozostawić ją dołączoną do swojej odpowiedzi na bok („dla tych, którzy lubią czyste wyjście, [...]”)!
Aaron

9

JAVA, 1 bajt

1

Dane wyjściowe do stderr to:

Main.java:1: error: class, interface, or enum expected
1
^
1 error
Error: Could not find or load main class Main
Command exited with non-zero status 1
    Command being timed: "/srv/wrappers/java-openjdk"
    User time (seconds): 1.40
    System time (seconds): 0.80
    Percent of CPU this job got: 40%
    Elapsed (wall clock) time (h:mm:ss or m:ss): 0:05.40
    Average shared text size (kbytes): 0
    Average unshared data size (kbytes): 0
    Average stack size (kbytes): 0
    Average total size (kbytes): 0
    Maximum resident set size (kbytes): 44564
    Average resident set size (kbytes): 0
    Major (requiring I/O) page faults: 205
    Minor (reclaiming a frame) page faults: 11301
    Voluntary context switches: 2666
    Involuntary context switches: 1677
    Swaps: 0
    File system inputs: 78312
    File system outputs: 0
    Socket messages sent: 0
    Socket messages received: 0
    Signals delivered: 0
    Page size (bytes): 4096
    Exit status: 1 

14
Jest to wynik kompilacji, a nie uruchamiania programu. Nie wiem, czy jest to domyślnie dozwolone.
97 CAD

2
Ponadto, jeśli wybierzesz inne rozszerzenie pliku, nie wyświetliłoby ono „java”, prawda? (Nie jestem pewien, czy jest to możliwe w przypadku java)
Jonas Schäfer

11
jeśli zmienisz kod Java na java, możesz zmniejszyć o jeden znak. próba uruchomienia pustego pliku klasy spowoduje wyrzucenie java.lang.ClassFormatError
user902383

2
Programy wyjściowe do stderr powinny być edytowane w tej odpowiedzi .
mbomb007

8

CSS, 25 bajtów

:after{content:'\43\53\53

Pamiętaj, że dodatkowe fragmenty są dodawane do fragmentów przepełnienia stosu, co powoduje, że „CSS” jest wyświetlany więcej niż jeden raz. Otwórz .htmlplik z zawartością

<style>:after{content:'\43\53\53

aby zobaczyć wynik zgodnie z przeznaczeniem.


7

bash CLI, 9

printf $0

Jeśli chcesz rzeczywistego skryptu, a nie tylko polecenia w interaktywnym wierszu poleceń, możesz to zrobić:

bash, 13

printf $SHELL

Wyjścia /bin/bash


1
echo $0powinien działać
skrzypliwy kostrzew

@ squeamishossifrage Działa w linii poleceń powłoki, ale w skrypcie wyświetli nazwę skryptu.
Cyfrowy uraz

1
x $0działa, zakładając, że na ścieżce nie ma pliku wykonywalnego o nazwie x. W takim przypadku należy wstawić dowolną inną literę, cyfrę lub znak nietypowy.
nigel222

2
„h” jest dla ciebie nieślubnym charakterem i używasz go w echu
user902383

2
$'ec\x68o' $0leczy ten szczegół.
manatwork

7

C, 15 bajtów

Skompilowane C na maszynie Linux z niemieckimi ustawieniami narodowymi:

main(){main();}

Uruchomi się on do przepełnienia stosu i wydrukuje Speicherzugriffsfehler(niemiecki dla błędu segmentacji) na stderr.


............ :-D
Alfe


6

Pip , 8 bajtów

'IWR C80

Bierze znak Ii WRaps go w Chr ( 80), w wyniku czego PIP. Wypróbuj online!

Używanie Iczuje się trochę jak oszukiwanie, więc oto dwa 9-bajtowe rozwiązania , które nie wykorzystują żadnego z PpIi:

z@8WRz@15
(z8+^707)

Oba wyjścia pip. Jestem szczególnie zadowolony z drugiego:

    ^707   Split 707 into a list of characters        [7;0;7]
  8+       Add 8 to each one                          [15;8;15]
(z      )  Use list to index into lowercase alphabet  ["p";"i";"p"]
           By default, lists are printed without a separator

Do prawidłowego użycia wielkich liter potrzebujemy rozwiązania 10-bajtowego :

'IWR C80Vx

Jak to działa, pozostaje zadaniem dla czytelnika. ; ^)


6

C #, 60 67 bajtów

class P{static void Main(){System.\u0043onsole.Write("\x43\x23");}}

Czy to właściwie twoja odpowiedź, czy błąd pomieszał twoją odpowiedź?
auhmaan

@auhmaan Przepraszamy, naprawiono . Początkowo testowałem na LINQPad i zapomniałem, że ma kilka domyślnych importów przestrzeni nazw.
Bob

Miałem na myśli \u0043i podobne
auhmaan,

1
@auhmaan To celowe, ponieważ potrzebuję, Consoleale nie mogę używać Czgodnie z regułami pytań. W języku C # możesz używać sekwencji ucieczkowych Unicode w identyfikatorach.
Bob

3
Jestem pewien, że możesz użyć do tego anonimowej metody, nie widzę ograniczenia wymagającego pełnego programu, więc możesz to zrobić_=>System.\u0043onsole.Write("\x43\x23");
TheLethalCoder


5

R 11 bajtów

cat("\x52")

Wypróbuj online!


version$l9 bajtów
djhurio

2
Prawdopodobnie versionwystarczy (7 bajtów)
djhurio

1
Lub po prostu „r”. 3 bajty.
Konrad Rudolph

@KonradRudolph Nie możesz użyć ... czekaj; specyfikacje uwzględniają wielkość liter podczas sprawdzania, ale nie wysyłają ... Sprytne.
wizzwizz4


5

J, 2 bajty

   a.


┌┬┐├┼┤└┴┘│─ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������

a. zwraca alfabet języka J - wbudowaną listę wszystkich bajtów.

Mój oryginał: 4 bajty

   %:_1
0j1

Wydaje mi się to całkiem fajne. Pierwiastek kwadratowy ( %:) z ujemnej 1 ( _1) to i ( 0j1).


1
2 bajty: a.. Drukuje alfabet, który oczywiście zawiera „J”. Zdecydowanie jednak nie tak fajnie: /
Bolce Bussiere

Musisz to zagrać w golfa. :-) To powiedziawszy, jestem przywiązany do mojej oryginalnej odpowiedzi.
Dane

5

BASIC (ZX Spectrum), 4 2 bajty

przekreślone 4 jest nadal regularne 4

Zaoszczędź 2 bajty dzięki @ShaunBebbers.

Uwaga: W zestawie znaków ZX Spectrum bajty te są wyświetlane jako

0 PRINT

Po wprowadzeniu tej wartości Spectrum rozpoczyna się od przeanalizowania opcjonalnej liczby, po której następuje wiersz kodu. Zwykle numer linii 1..9999powoduje dodanie kodu do zapisanego programu. Jeśli jednak nie podano numeru wiersza, kod jest wykonywany natychmiast. Niestety błąd w Spectrum oznacza, że ​​pomyłka zerowej linii w ogóle nie ma numeru linii, ale nadal próbuje wykonać zero jako część linii kodu, co jest nielegalne, co powoduje błąd.

Poprzednia 4-bajtowa wersja generuje prawdziwy błąd zamiast polegać na błędzie interpretera:

õ°""

Uwaga: W zestawie znaków ZX Spectrum bajty te są wyświetlane jako

PRINT VAL ""

które wyjścia

C Nonsense in BASIC, 0:1

ponieważ pusty ciąg nie jest prawidłowym wyrażeniem liczbowym. (Mógłbym oczywiście użyć dowolnej instrukcji, która przyjmuje jedną liczbę całkowitą.) Jeśli ta odpowiedź jest niedopuszczalna, to dla 6 bajtów możesz napisać program składający się z jednego wiersza z jednym słowem kluczowym, który nie przyjmuje argumentów, a następnie użyj POKEdo zamiany z niedozwolonym słowem kluczowym, a następnie spróbuj RUNuruchomić program.


lub 0 REMpowoduje ten sam błąd
Shaun Bebbers

1
@ShaunBebbers Czy to nawet przechodzi sprawdzanie składni?
Neil

tak, działa na prawdziwym Spectrum.
Shaun Bebbers

4

C 24 20 bajtów (Clang 3.8.1)

Dzięki @squeamish ossifrage za pomoc w oszczędzeniu 4 bajtów.

main(){putchar(67);}

Jak o putchar(67);?
piskliwy kostrzew

@ squeamishossifrage tak, dzięki
Wade Tyler

Po prostu ciekawy, ale czy printf('c')też nie byłby ważny? Nie możesz używać wielkich liter „C”, ale masz małe litery, a wynik nie rozróżnia wielkich i małych liter.
Jocie,

Pewnie brzmi to tak, @jocie, ale 67jest krótszy niż 'c':-)
Cody Gray

1
@Jocie printfpotrzebuje char *więc, więc muszę skorzystać""
Wade Tyler,

4

Perl 5, 36 bajtów (35 + 1 dla -E)

$^X=~s/.+(.)(...)$/\U$1\E$2/;say$^X

Uruchom z -Eflagą.

$ perl -E 'say$^X=~s/.+(.)(...)$/\U$1\E$2/r'
Perl

Zmienna$^X jest ścieżką do pliku wykonywalnego, który jest uruchomiony z bieżącego programu. Ponieważ wywoływany jest interpreter Perla perl, musimy najpierw napisać dużą literą. Ale ucfirstfunkcja zawiera r, co jest niedozwolone, więc musimy uciekać się do \Ui \E, które włączają i wyłączają konwersję wielkich liter.

Nie możemy użyć /rmodyfikatora s///do zwrócenia zmienionego ciągu, ponieważ rjest to niedozwolone.

Ważne jest, aby wiedzieć, że nazwa języka programowania Perl to Perl , a nazwa tłumacza to perl z małymi literami p. Nie ma PERL .


Technicznie myślę, że perl -vspełnia ograniczenia wyzwania, ale jest to o wiele bardziej interesujące :) Chociaż zakłada założenia, które nie dotyczą wszystkich systemów (np. $^XJest /home/foo/.plenv/versions/5.16.3/bin/perl5.16.3dla mnie, ale równie dobrze może być, /home/foo/pythongdybym był tak przekręcony ).
ThisSuitIsBlackNot 25.01.17

@ Nie jest pewne, czy byłoby to zgodne z przepisami. Mówią, że wybierz język i rób rzeczy. Ale perl -vnie ma nic w Perlu. Więc myślę, że to się nie liczy. Ale myślę, że są łatwiejsze sposoby. Jeśli chodzi o różne systemy, myślę, że możemy to naprawić za pomocą nieco więcej magii wyrażeń regularnych.
simbabque

Istnieje już szereg rozwiązań zero-bajtowych, które opierają się na domyślnym zachowaniu (np. Drukowanie numerów wersji). Nic w przepisach tego wyraźnie nie zabrania. Ale to zdecydowanie nudne i wydaje się „oszukiwane”.
ThisSuitIsBlackNot 26.01.17

Ponownie patrząc na zasady, możesz po prostu zrobić nudne perl -E'say$^X'.
ThisSuitIsBlackNot 26.01.17

2
Jak o -E'say`$^X -v`'? To bezsprzecznie program.
hobbs

4

Dalej, 5 bajtów

WORDS

Wypróbuj online

Drukuje listę każdego słowa w języku. Forthakurat znajduje się na liście (pierwsze słowo w linii 125), chociaż nie wiem, co robi.


4

R, 10 bajtów

citation()

Wyjścia:

Aby cytować R w publikacjach, użyj:

R Core Team (2016). R: Język i środowisko obliczeń statystycznych. R Foundation for Statistics Computing, Wiedeń, Austria. URL https://www.R-project.org/ .

Wpis BibTeX dla użytkowników LaTeX to

@Manual {,
title = {R: A Language and Environment for Statistics Computing},
autor = {{R Core Team}},
organizacja = {R Foundation for Statistics Computing},
adres = {Wiedeń, Austria},
rok = {2016 },
url = { https://www.R-project.org/ },
}

Zainwestowaliśmy dużo czasu i wysiłku w tworzenie R, proszę przytaczaj go, gdy używasz go do analizy danych. Zobacz także „cytowanie („ pkgname ”)”, aby zacytować pakiety R.

Zupełnie gadatliwy, żeby mieć Rimię, które się pojawi, prawda?

Od komentarza @ djhurio do tej odpowiedzi za pomocą R, versionrobi to samo.


3
„W nazwie języka programowania nie jest rozróżniana wielkość liter.” Dlaczego więc nie tylko "r"? Lub w zależności od ścisłego „Możesz wysyłać śmieci” przed lub po nazwie języka. ” możesz też po prostu zrobić T.
Billywob,

1
Zgodnie z komentarzem @Billywob wszystko, co jest potrzebne do wypisania, to rlub R, więc innym podejściem jest wypisanie do STDERR poprzez błąd składniowy. )wyjścia Error: unexpected ')' in ")", które zawiera r.
rturnbull

@Billywob Zgadzam się na twój komentarz, a także rturnbull. Szybko napisałem tę odpowiedź i powinienem był przewidzieć, że mimo iż kod i odpowiedź są daremnie długie, to wydaje mi się zabawne, aby wysyłać wszystkie te śmieci tylko po to, aby pojawiło się „R”. Co więcej, jest to najkrótsza droga do mojej wiedzy, aby napisać, aby R napisał swoją nazwę celowo.
Frédéric
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.