输出编程语言名称


45

挑战:

在您选择的编程语言中,不输入任何内容,而是输出您的编程语言的名称。

足够公平吧?

限制条件:

  • 您的代码中不能使用编程语言名称中包含的任何字符。例如,如果使用批处理,则不得在代码中使用字符'B''a't''c''h'。请注意,这是区分大小写的。我仍然可以使用字符“ b”,因为它与“ B”不同。
  • 您可以在语言名称之前或之后使用“垃圾输出”
  • 版本号不算作语言名称的一部分。例如,如果在Python 3中,我可以在答案中使用数字3
  • 编程语言名称的输出不区分大小写。
  • 禁止强行使用所有可能的字母组合,并希望您获得自己的语言名称。

示例输出:(假设我的编程语言称为语言)(✔如果有效,否则为✖)

  • 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

这是因此最短的代码获胜。


7
关于区分大小写的限制的规则非常含糊。正确的拼字法是:BASIC Basic还是basic?我很确定我可以找到所有这三个例子。
Level River St

6
强制性的:“只是让您的代码为空,但--version不允许带有类似的标志”?
价值墨水

87
具有不区分大小写的输出,同时禁止区分大小写的语言名称,使无聊的解决方案仅输出使用大小写交换的语言名称。
xnor

11
您通过允许用户输出垃圾数据而犯了一个错误。他们所要做的就是使用一种语言,只要有错误,编译器就会在其中包含名称。很酷,但不是我希望的挑战
Lynob

3
确实需要指定这个问题,即必须运行“代码”。如果您不提供任何代码,大多数语言都会在用法转储中显示其名称,例如,命令行中的“ Java”或“ Groovy”,没有代码会显示正确的名称,但是,如果您传递代码(甚至是“空”代码),如(groovy -e“”),您将得到一个空响应。对于编译问题也是如此,编译器的用法或错误输出并不表示您已编写程序。
比尔K

Answers:


67

输出到STDERR

作为允许的默认值,现在输出到STDERR的值为+ 33 / -21,这是肯定的,但有争议。这是CW答案​​,用于收集仅以某种语言(错误消息包括语言名称)调用错误的答案

Haskell,1个字节

1

错误:

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

Lua,1个字节

1

错误:

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

(文件名不重要)

批处理,1个字节

~

错误:

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

tinylisp,5个字节

(c()1

错误:

Error: cannot cons to Int in tinylisp

R,1个字节

)

错误:

Error: unexpected ')' in ")"

Java字节码,0字节

错误:

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

Groovy,1个字节

a

请注意,a可以用任何其他字符替换

错误:

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

MATLAB,1个字节

\

错误:

Error: Unexpected MATLAB operator.

PHP,3个字节

<?=

错误:

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

CJam,1个字节

/

错误:

/
^
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)

树枝,2个字节

Twig是用PHP编写的模板语言。这可能是一个多语言的。

{{
{%
{#

错误:

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

该消息会因您选择的程序而异。

SILOS,2个字节

x+

在线尝试! 琐细地调用未记录的行为。筒仓是语言的名称。

Python,6个字节

pYTHON

由于字符限制不区分大小写,并且输出不必采用正确的大小写,因此这是一个有效的答案。它产生的错误消息是这样的:

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

在线尝试!(输出到“调试”标签)

JavaScript,10个字节

jAVAsCRIPT

这会在所有环境中产生以下错误消息或类似消息:

ReferenceError: jAVAsCRIPT is not defined

QBIC,6个字节

?b(12)

在6个字节中,我们可以将QBIC遇到的错误:9显示在屏幕上,表示越界错误。

ForceLang,2个字节

()

产生错误:

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)

点数,5个字节

1~`[`

(注意:在撰写本文时,此功能在当前版本0.17.09.01中有效。不保证解释器将来也不会更改以不同方式处理此错误。)

尝试使用语法无效的模式匹配正则表达式。产生的错误如下所示:

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个字节

0u

错误:

Stax runtime error: rational divide by zero

zh 也可以。

墨水,1字节

~

~在一行的开始处标记该行是要执行的语句,而不是要打印的文本。从使用inklecate TIO的任何版本开始,如果后面没有任何内容~,则解释器将崩溃,并显示以下错误:

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
语言名称中是否包含空字符串?:D
mbomb007

21
的C和R的有Ç LEVE ř
DLosc

2
@ mbomb007,但这不是字符,因此不是语言名称中包含的字符。
user253751

如果我没有记错的话,可以禁用PHP版本。使用类似的东西<??会更有效,不能禁用。
伊斯梅尔·米格尔

10
Java字节码,0字节 ”。我第一次看到Java胜过提到的所有其他语言。:)
Kevin Cruijssen '17

49

SmileBASIC,11个字节

sPsET.,1474

等同于SPSET 0,1474。将精灵0设置为定义1474,即SmileBASIC徽标。

屏幕截图


43

MATL,1个字节

Y

通过STDERR输出,默认情况下允许的

离线编译器的输出是

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); 

在线尝试!(展开“调试”部分)。


6
你应该和这个合并吗?
wizzwizz4

@ wizzwizz4我不确定。我问在聊天,并得到 2 ,所以它不是一个真正明确的
路易斯Mendo

1
是的,但是
sagiksp

@sagiksp会抛出任何错误的东西,例如XZ。这是因为XY或者Z是两个字符函数名称的前缀,所以Y本身是无效的
路易斯Mendo

37

R,1个字节:

T

T是常量的别名TRUE。因此,上面的输出是:

[1] TRUE

由于名称周围允许使用垃圾,因此其中的语言名称为“ R”。

正如在其他地方的注释中所指出的,几乎任何单个字母和许多字形都可以很好地工作,因为它们会触发消息“ Error:…”,其中包含“ r”。)


31

HTML,24 20字节

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


HTML,16个字节

正如@Bob指出的那样,现代浏览器将识别不带分号的HTML实体,尽管从技术上讲它是无效的HTML。当然,它对于代码高尔夫球完全有效。

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


HTML,4个字节

当然,这是没有意思的答案。

html


另外,请参阅我的CSS答案


3
您可以使用十进制代替保存四个字符:&#72;&#84;&#77;&#76;。您可以通过删除分号来保存其他四个字符,但以技术上无效的HTML为代价(但仍可在现代浏览器中使用)。
鲍勃(Bob)

为什么HTML不算?
停止Harming Monica

1
@OrangeDog“您的代码中不能使用编程语言名称中包含的任何字符”
darrylyeo

但是html应该有效,将分数减少12个字节。
克里斯多夫(Christoph)

3
@Clearer这是代码高尔夫!只要它可以在至少一种环境中运行,谁会在乎W3C是否认为它有效?
darrylyeo

25

Vim,0个字节



启动Vim时,编辑器将显示一个初始屏幕,如下所示:

Vim启动画面

您可以Vim在此处看到它的内容:

突出显示Vim的Vim启动画面

先前的答案:

Vim,1个字节

<Ctrl-C>

在Vim 8中,按将显示Type :quit<Enter> to exit Vim在最后一行。我不确定这是否重要。


1
应该算。Ctrl-C实际上具有自己的ASCII代码(代码3,也称为ETX或“文本结尾”),因此这是一个纯ASCII程序(如果不是纯可打印的 ASCII)。您可以使用它来证明程序的一个字节长,并在屏幕上显示文本计数。

4
自从什么时候“ vim”是一种编程语言?
DepressedDaniel

4
如果您深入了解内部原理,@ DepressedDaniel vim实际上是一种脚本语言。所有这些精美的击键都是说明=>您在控制编辑器时正在编程。
bash0r

1
@DepressedDaniel是否已完成课程?如果不是,我不认为这应该算在内。
清晰的时间,

3
@dfeuer自两年多前我发表评论以来,我就开始同意您的看法。
清晰的

20

Python,15个字节

的Python 2(15)

exec"\150elp()"

它使用八进制150(是h和)连接字符串"elp()"并运行结果。这将显示满足要求的help()命令"Welcome to Python 3.5's help utility!"

的Python 3(17)

exec("\150elp()")

在线尝试!


不确定help,它仅在REPL环境中有效。
xnor

它仍然打印出Python。这就是全部。

1
没关系,我弄错了,它可以作为程序工作。对于那个很抱歉。
xnor

1
您使用了字母“ p”
马特

3
p允许,但P不允许。规则1

18

C,0个字节。

/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

在线尝试!


名字在哪里?还是您参考其中的c字符?
HopefulHelpful

3
应该将其标记为C(gcc),因为其他编译器具有不同的消息。
orlp

恩,您c来自高度依赖实施的资源。如果您至少引起了c某些样板输出中包含的消息,那就更好了。
DepressedDaniel

1
@DepressedDaniel未定义参照的文ç E要“主”
罗兰Pechtel

@LorenPechtel还算公平,错过了。
DepressedDaniel

17

嗯?,0字节



(不,该代码块中没有任何内容)

语言以其输出命名,因此...

我检查的实现中,解释器采用给定文件每行的长度mod 8,并根据结果进行切换。如果为零,则打印Huh?。由于它会删除结尾的换行符,因此您也可以执行1字节(\n)版本。

请注意,它不会输出到stderr或casewapping或其他任何欺骗手段。只是,'?非常困惑的翻译最终派上了用场。


13

V,2个字节

¬U

在线尝试!

显而易见的答案是:

év~

在线尝试!

这是“插入字母'v',并切换大小写”。但是,由于您允许在语言名称之前/之后进行垃圾输出,因此这也是可行的。

¬命令输入两个字符,并在它们之间插入每个ASCII字符。如果我们不提供第二个字符,它将自动默认为ÿ(ASCII 0xff),因此该程序会在U和之间插入latin1编码中的每个字符ÿ


13

疯子,54字节

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

输出brainfuck,假设左侧打开了8位磁带。在线尝试!

像往常一样,部分学分归@primo的Hello,World!回答

不同外壳的替代品

Brainfuck(62字节):

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

BrainFuck(68字节):

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

12

MATLAB,3个字节

ver

输出如下。不相关的信息已被代替[...]。输出的某些部分可能会因版本,安装的工具箱等而异。

-----------------------------------------------------------------------------------------
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)

使用av和e

您的语言是Octave,因此您不能使用ve
JungHwan Min

6
哎呀 通过将语言更改为Matlab进行了纠正(无论如何,这是我的初衷)
Luis Mendo

12

Python,27 53 49 48 45字节

@ wizzwizz4的-3个字节

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

打印以下文本,第一行带有“ 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固定!
Value Ink

1
HELP()或者HELP(HELP)更短。
Gurupad Mamadapur

交换导入字符串的大小写并不重要,因为无论如何都将其变为小写。-3个字节。
wizzwizz4

@GurupadMamadapur Python 3答案已经涵盖了它,并且更好(可以肯定我的代码是完全相同的),所以我也不想使用它。猜猜我坚持import this
价值墨水

@ValueInk好吧。
Gurupad Mamadapur

12

Python 2(1个字节)

è

输出...:

输出


您确定这只是1个字节吗?
Okx

1
同意 它是UTF-8中的2个字节
mbomb007 '17

关键是“非ASCII”-尝试0xa0(nbsp)或您喜欢的任何其他高字节,您将得到相同的错误!
约翰·P

3
在Win1252中,这是1个字节,错误消息表明它正在使用。
ATaco

10

> <>12 10字节

"2,:o:2-o|

这将连续打印> <>,​​直到解释器空间不足。

在线尝试!

下面的12字节版本供那些喜欢干净输出的用户使用。亚伦推荐(无错误,1个输出)

":3+:o$1+oo;

出色的解决方案!
Emigna

@Emigna-谢谢,最终版本是在一堆失败的高尔夫球之后,但是我很喜欢它,因为它会打印> <>和鱼:D
鹈鹕

好东西 !这是一个14字节的版本,仅打印一次且不会出错:"-o-o-o;_!\ _!
Aaron

@Aaron,如果您检查编辑,则第一个版本在12点做过。我确实喜欢您的样子:)
鹈鹕

我喜欢您的12个字节的版本(也是10个字节的:)),我想您应该把它保留在答案中(“对于那些喜欢干净输出的人,[...]”)!
亚伦

9

JAVA,1个字节

1

stderr的输出为:

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
这是从编译而不是运行程序输出的。我不知道默认情况下是否允许这样做。
CAD97

2
另外,如果您选择其他文件扩展名,它不会输出“ java”吗?(不确定Java是否可行)
JonasSchäfer17年

11
如果从Java更改为Java字节码,则可以减少一个字符。试图运行空的类文件将抛出java.lang.ClassFormatError
user902383

2
输出到stderr的程序应在此答案中进行编辑。
mbomb007 '01

8

CSS,25个字节

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

请注意,额外的标记已添加到Stack Overflow片段中,导致“ CSS”显示多次。打开.html包含内容的文件

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

看到预期的结果。


7

bash CLI,9

printf $0

如果您想要一个实际的脚本,而不仅仅是交互式命令行上的命令,则可以执行以下操作:

bash,13岁

printf $SHELL

产出 /bin/bash


1
echo $0应该起作用
吱吱作响的ossifrage

@squeamishossifrage在shell命令行上有效,但是在脚本中它将输出脚本的名称。
Digital Trauma

1
x $0假设在路径上没有名为x的可执行文件,则可以正常工作。在这种情况下,请替换任何其他字母,数字或非特殊字符。
nigel222

2
'h'对您来说是非法字符,您正在回

2
$'ec\x68o' $0解决这个细节。
manatwork

7

C,15字节

在具有德语语言环境的Linux机器上编译的C:

main(){main();}

它将运行到堆栈溢出并Speicherzugriffsfehler在stderr上打印(德语为Segmentation Fault)。


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


6

,8字节

'IWR C80

提取字符IWRChr(80)中将其放大,结果为PIP在线尝试!

使用这种I感觉有点像作弊,所以这里有两个不使用任何以下内容的9字节解决方案PpIi

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

两者输出pip。我对第二个感到特别满意:

    ^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

为了使大小写正确,我们需要一个10字节的解决方案

'IWR C80Vx

这是如何工作的,留给读者练习。; ^)


6

C#,60 67字节

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

这实际上是您的答案,还是一个错误弄乱了您的答案?
auhmaan

@auhmaan对不起,已修复。我最初在LINQPad上进行了测试,却忘记了它具有一些默认的名称空间导入。
鲍勃(Bob)

我指的是\u0043与相似者
auhmaan

1
@auhmaan这是故意的,因为我需要Console但不能C按照问题规则使用。在C#中,您可以在标识符中使用Unicode转义序列。
鲍勃(Bob)

3
我确定您可以为此使用匿名方法,看不到需要完整程序的限制,所以您可以这样做_=>System.\u0043onsole.Write("\x43\x23");
TheLethalCoder



5

J,2个字节

   a.


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

a. 返回J语言的字母-所有字节的内置列表。

我的原始文件:4个字节

   %:_1
0j1

这对我来说似乎很酷。%:负1(_1)的平方根()是i0j1)。


1
2个字节:a.。打印字母,其中显然包括“ J”。绝对不是那么酷:/
Bolce Bussiere

高尔夫吧。:-)就是说,我附在我原来的答案上。
丹妮(Dane)

5

BASIC(ZX Spectrum),4 2字节

划掉4仍然是常规4

@ShaunBebbers节省了2个字节。

注意:在ZX Spectrum字符集中,这些字节显示为

0 PRINT

当您输入它时,Spectrum首先解析一个可选数字,然后是一行代码。通常,行号是1..9999导致将代码添加到存储程序中的代码。但是,如果未提供行号,则会立即执行代码。不幸的是,Spectrum中的错误意味着它将行号零误认为根本没有行号,但是它仍然尝试将零作为代码行的一部分执行,这是非法的,从而导致错误。

先前的4字节版本会产生真正的错误,而不是依赖于解释器错误:

õ°""

注意:在ZX Spectrum字符集中,这些字节显示为

PRINT VAL ""

哪个输出

C Nonsense in BASIC, 0:1

因为空字符串不是有效的数字表达式。(我当然可以使用任何接受单个整数的语句。)如果此答案不可接受,那么对于6个字节,您可以编写一个由单行组成的程序,其中包含一个不接受任何参数的关键字之一,然后使用POKE替换带有非法关键字,然后尝试运行RUN该程序。


0 REM产生相同的错误
Shaun Bebbers

1
@ShaunBebbers甚至可以通过语法检查吗?
尼尔

是的,它可以在真实频谱上运行。
Shaun Bebbers

4

C 24 20字节(Clang 3.8.1)

感谢@squeamish ossifrage帮助我节省了4个字节。

main(){putchar(67);}

怎么putchar(67);
吱吱作响的ossifrage

@squeamishossifrage是的,谢谢
Wade Tyler

只是好奇,但printf('c')也无效吗?不允许使用大写字母“ C”,但是您使用小写字母,结果不区分大小写。
Jocie

听起来确实像它会,@jocie,但67短于'c':-)
科迪灰色

1
@Jocie printf需要一个,char *所以我需要使用""
Wade Tyler

4

Perl 5,36个字节(对于,为35 +1 -E

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

-E标志一起运行。

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

变量$^X是路径到运行当前程序中的可执行文件。由于调用了Perl解释器perl,因此我们需要使他的第一个字母大写。但是该ucfirst函数包含一个r,这是不允许的,因此我们必须诉诸\U\E,这可以打开和关闭大写转换。

我们不能使用/r修饰符s///来返回更改后的字符串,因为r不允许使用。

重要的是要知道Perl编程语言的名称是Perl,解释器的名称是perl(小写)p。没有PERL


从技术上讲,我认为perl -v可以满足挑战的限制,但这要有趣得多:)尽管它做出的假设并非在所有系统上都适用(例如$^X/home/foo/.plenv/versions/5.16.3/bin/perl5.16.3对我来说是这样,但/home/foo/python如果我像这样扭曲就可以了) )。
ThisSuitIsBlackNot

@这不确定是否在规则之内。他们说选语言做事。但是perl -vPerl中没有任何内容。所以我认为这不算数。但是我确实认为有更简单的方法。关于不同的系统,我认为我们可以用更多的正则表达式魔术来解决它。
simbabque

已经有很多零字节解决方案依赖于默认行为(例如,打印版本号)。规则中没有任何内容明确禁止它。但这绝对很无聊,让人感到“作弊”。
ThisSuitIsBlackNot

再看一遍规则,实际上您可以做的很无聊perl -E'say$^X'
ThisSuitIsBlackNot

2
怎么-E'say`$^X -v`'样 毫无疑问,这是一个程序。
hobbs

4

第四个字节

WORDS

在线尝试

打印该语言中每个单词的列表。Forth碰巧在列表中(第125行的第一个单词),尽管我不知道它的作用。


4

R,10个字节

citation()

输出:

要在出版物中引用R,请使用:

R核心团队(2016)。R:用于统计计算的语言和环境。R奥地利统计计算基金会,维也纳,奥地利。网址https://www.R-project.org/

LaTeX用户的BibTeX条目是

@Manual {,
标题= {R:用于统计计算的语言和环境},
作者= {{R核心团队}},
组织= {R统计计算基金会},
地址= {奥地利维也纳},
年份= {2016 },
url = { https://www.R-project.org/ },
}

我们在创建R上投入了大量时间和精力,请在将其用于数据分析时引用它。另请参见'citation(“ pkgname”)',以引用R包。

只是为了让R名字显得很冗长?

从@djhurio对使用R的答案的评论中,version也可以做到这一点。


3
“编程语言名称的输出不区分大小写。” 那么,为什么不"r"呢?或取决于严格的“您可以在语言名称之前或之后具有”垃圾输出”。你也可以做T
Billywob

1
在@Billywob的注释之后,输出所需的全部是ror R,因此另一种方法是通过语法错误输出到STDERR。)输出Error: unexpected ')' in ")",其中包含一个r
rturnbull

@Billywob我同意您的意见以及rturnbull的意见。我很快就写了这个答案,即使它使代码和答案变得冗长,我也应该指出,即使输出所有这些垃圾以使“ R”出现也很有趣。而且,这是我所知写R的最短方法。
弗雷德里克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.