मेरा नाम क्या है? अप्रत्यक्ष रूप से भाषा के नाम का उत्पादन करें [बंद]


40

केवल भाषा की सुविधाओं का उपयोग करके केवल एक प्रोग्रामिंग भाषा का नाम तैयार करें। भाषा का नाम केवल अप्रत्यक्ष रूप से लागू किया जा सकता है, अर्थात, गैर-कस्टम वातावरण चर, अंतर्निहित कार्यों या विधियों या भाषा के दुभाषिया / संकलक से। आउटपुट केवल भाषा का नाम होना चाहिए।

एक उदाहरण होगा:

$ awk --v | awk 'NR<2 { print $2}'  # GNU Awk 3.1.8
Awk

मेरे द्वारा चुना गया उत्तर सबसे अधिक वोटों वाला होगा। एक टाई के मामले में, सबसे छोटा गोल्फ संस्करण (अलग या केवल दिया गया उत्तर), टाई ब्रेकर होगा।


1
तो जावा प्रतिबिंब एपीआई का उपयोग करना ठीक नहीं है?
मिंग-तांग

मैंने ऐसा नहीं सोचा था, लेकिन यह ठीक भी है।
Ty Auvil

@ जॉर्ज: हुह? क्या यह अब एक कोड-गोल्फ है? क्यूं कर? यह पहले नहीं था ...
जॉय

@ जॉय: नहीं, यह पहले नहीं था, लेकिन यह एक कोड गोल्फ प्रश्न की तरह लग रहा था, इसलिए मैंने इसे संपादित किया और किसी ने संपादन को मंजूरी दी।
नाथन उस्मान

@ जॉय: कोड गोल्फ टाई ब्रेकर है। मैंने उस TAG को मूल रूप से नहीं रखा था, लेकिन जॉर्ज ने सुझाव दिया और मैं सहमत हो गया।
Ty Auvil

जवाबों:


18

BASH, 17 7

bash -c 'echo $0'

या और भी

echo ${0#-}

यदि आप पहले से ही बैश चलाते हैं: डी

अद्यतन : पहले विस्तृत "echo $0"हो जाता है $0इसलिए 'echo $0'सही उत्तर है।


यदि यह एक लॉगिन शेल है तो यह केवल डैश-प्रीफ़िक्स किया गया है और यदि यह आपका प्रोग्राम चलाता है तो यह लॉगिन शेल नहीं है।
जेबी

@ जेबी: यह इंगित करने के लिए धन्यवाद। मैं उपयोग कर रहा था "रों जहां मैं होना चाहिए 'रों
Eelvex

ऐसा लगता है कि यह विजेता है। :)
Ty Auvil

गूंज $ {SHELL: 5}
मछली मॉनिटर

30

श्वेत रिक्ति

|  	 	 			
	
    		 	   
	
    		 	  	
	
    			 	  
	
    		  	 	
	
    			  		
	
    			    
	
    		    	
	
    		   		
	
    		  	 	
	


|

असली भाषा नहीं, व्हॉट्सएप।
अलेक्जेंड्रू


अरे। क्षमा करें, एंथनी, एसई मुझे अब आपको परेशान नहीं करने देगा।
अलेक्जेंड्रू

यह सब ठीक है। मैंने खुद हाल ही में इस भाषा के बारे में सीखा है।
एंथनी

1
यदि मैं गलत नहीं हूँ, तो आपके कार्यक्रम में दो घातक त्रुटियाँ हैं: (1) S, T, L को सूचित करें स्पेस, टैब, लाइनफ़ीड को फिर से देखें, पहला निर्देश वर्तमान में है SSTSTSTTTL, लेकिन SSSTSTSTTTL( बाएं तरफ 3 S का होना चाहिए ) - Sइसके बाद बाइनरी नंबर के सकारात्मक संकेत को इंगित करने के लिए 3 की आवश्यकता होती है (यानी बाइनरी में 'डब्ल्यू' = 85 = 1010111 के लिए Lएएससीआई कोड, -टर्मिनेटेड स्ट्रिंग के रूप में कोडित TSTSTTTL), और अन्य एससीआई कोड के लिए। (2) प्रोग का फाइनल TLLLहोना चाहिए TLSSLLL, जहां TLSSस्टैक से अंतिम चरित्र को आउटपुट करने की आवश्यकता है, और LLLएंड-ऑफ-प्रोग्राम को चिह्नित करता है।
रेस


23

अजगर - २३ २२

print`credits`[97:103]

2
आपको अंतरिक्ष से बाहर जाना चाहिएprint
gnibbler

` क्या करता है? मैंने ऐसा कभी नहीं देखा।
कज़र्क

4
Backticks repr () के लिए एक पदावनत उर्फ ​​हैं। बैकथिक्स 3. पायथन में चला गया है।
0xKirill

2
@ 0xKir तो? जब तक वे चले गए कोड गोल्फ में उनका उपयोग करें।
Riking

23

जम्मू, 4

u:74

छोटी भाषा में नाम रखने से मदद मिलती है।


और भी छोटा हो सकता है:u:74
jpjacobs

19

अजगर (win32) - यादृच्छिक मॉड्यूल का दुरुपयोग

मुझे यकीन नहीं है कि यह वास्तव में काम करता है या नहीं कार्यान्वयन पर निर्भर करता है।

print ''.join([(random.seed(835)==None)and'']+[chr(random.randint(64,90)) for x in range(3)]+[(random.seed(53281)==None)and'']+[chr(random.randint(64,90)) for x in range(3)])

आपने कैसे पाया? यह मेरे लिए लिनक्स पर पाइथन 2.6.6 में भी काम करता है।
मैकेनिकल घोंघा

5
सुन कर अच्छा लगा! मैंने यह निर्धारित करने के लिए कि आपको एक निश्चित अनुक्रम प्राप्त करने के लिए यादृच्छिक मॉड्यूल को कैसे बीजने की आवश्यकता है, यह निर्धारित करने के लिए मैंने एक छोटा सा उपकरण लिखा। तीन-वर्ण अनुक्रम के साथ, यह बहुत लंबा नहीं होता है - यह स्क्रिप्ट "PYTHON" पाने के लिए दो तीन-अक्षर अनुक्रमों के साथ मिलती है :)
zhazam

बाकी इसे एक पंक्ति में फिट करने के लिए सूची समझ और अन्य गंदे चाल का उपयोग कर रहा है। आप यहाँ पर
bruteforcing

और यह मेरे पायथन 3.1.2 पर काम करता है ( printनिश्चित रूप से, इसके बाद कोष्ठक जोड़ना )।
यांत्रिक घोंघा

1
लगभग वहाँ: generateSentence(50613, 73)[66:]देता है 'PYTHOCN'
मैकेनिकल घोंघा

17

BrainFuck

सिर्फ मनोरंजन के लिए (मुझे पता है कि यह कार्य के उद्देश्य से संबंधित नहीं है।), मैंने यह कोड लिखा है ...

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

और जब मैं बदल दिया <, >, [, ], .अंतरिक्ष के साथ ...

+++++   -+-+-     ++    +++++  +     +
+    +  +    +   -  +     +    ++    -   
+    +  +    -  +    +    +    - -   - 
+++++   +++++   ------    +    -  +  - 
+    +  +    +  +    -    -    -   + -  
+    +  +    -  -    -    -    -    -+ 
++---   +    +  +    -  +++++  +     - 

+++  + +  +++  + + 
-    + +  +    ++ 
+++  + +  +    + 
+    + -  +    ++
+    ++-  -+-  + +


---  
---
---
---

 - 
---
 - 

13

पीट, 47x2 पिक्सेल

5x5 कोडल्स का उपयोग करना: पीट कार्यक्रम "पीट" मुद्रित करने के लिए


12

अजगर

import sys;print sys.copyright[24:30]

यह मेरे लिए भी काम करता है (sys.executable is '/ usr / bin / python')

import sys;print sys.executable[9:]

1
यहाँ मैं इन से क्या मिलता है: Activeऔर 25\Lib\site-packages\pythonwin\Pythonwin.exe, तो ... अच्छा नहीं
Nas Banov

import sys;print sys.subversion[0][1:]हालांकि काम करता है
Nas Banov

6
यह धोखा है ... लेकिन मैं बेहतर धोखा दे सकता हूं:eval.__doc__[144:150]
जेर्नार्डो

11

ब्रेनफक 101

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

शायद थोड़ा आगे गोल्फ हो सकता है, लेकिन यह सुबह 6 बजे है और मुझे कुछ नींद लेनी चाहिए ...


11

सी

C में Anon के उत्तर की भावना में (C फ़ाइल पर विचार करने पर हमेशा एक्सटेंशन .c होता है)। मैं सुझाव दूंगा:

#include <stdio.h>
void main(){puts(__FILE__+sizeof(__FILE__)-2);}

5
बहुत छोटा, 25 वर्ण, एकल पंक्ति, main(){puts(__FILE__+2);}फ़ाइल नाम मान लेना एक एकल अक्षर है, उदाहरण के लिए। a.c
हस्त्कुर्कन

7

जावा

public class Name {
    public static void main(String[] args) {
        String s = "";
        s = s.getClass().getName();
        s = s.substring(0, 1).toUpperCase() + s.substring(1, 4);
        System.out.println(s);
    }
}

anon: बस एक और जवाब प्रस्तुत करें। यह एक गोल्फ नहीं है, इसलिए इसे छोटा रखने की कोई आवश्यकता नहीं है।
जॉय

6

सी

2005 DevStudio का उपयोग करके निर्मित

#include <stdio.h>
void main ()
{
  int i,j,i2;
  for (i=j=0,i2=200;i2<=200;i2-=19,j==putchar(32|(i2<'Q'&&i2>'+'&&(j<20||i<12||i>28))*3)+8?j=0,i2+=i,i+=putchar('\n')-8:(i2+=j,j+=2));
}

थोड़ा कम संस्करण (संकलक चेतावनी के साथ)

int i,j,k;
for (i=j=k=0;k<=0;k-=19,j==putchar(32|(k<-119&&k>-157&&j<20|i<12|i>28)*3)+8?j=0,k+=i,i+=putchar('\n')-8:(k+=j,j+=2));

पहले एक intgcc का उपयोग करके मुख्य प्रकार के नहीं होने के बारे में चेतावनी का उत्पादन करेगा ।
ओएनोन

1
आपको 'c' अक्षर का उपयोग करने की अनुमति नहीं है।
किनोकिजुफ

6

रूबी - 27

puts RUBY_DESCRIPTION[0..3]

क्रिस जेस्टर-यंग की टिप्पणी से अपडेट:

रूबी - 24

puts RUBY_COPYRIGHT[0,4]

हौलेथ से अद्यतन:

रूबी - 15

p`ruby -v`[0,4]

1. RUBY_COPYRIGHTसे छोटा है RUBY_DESCRIPTION। 2. [0,4]से छोटा है [0..3]
क्रिस जस्टर-यंग

यहां तक ​​कि छोटे `` `रूबी -v` [0,4]` `
हौलेथ

5

बिल्ली ३

निम्नलिखित सामग्री (स्रोत कोड) के साथ एक फ़ाइल बनाएँ

cat

और इसे चलाएं (फ़ाइल निष्पादित करें):

$ cat filename

7
न तो अप्रत्यक्ष और न ही भाषा?
शाश्वत

4
बिल्ली एक वास्तविक भाषा नहीं है, क्योंकि यह ट्यूरिंग-पूर्ण नहीं है।
किनोकिजुफ

3
@kinokijuf बहुत सारी उपयोगी भाषाएँ हैं जो ट्यूरिंग-पूर्ण नहीं हैं। आंशिक सूची के लिए stackoverflow.com/q/8412741/20713 देखें ।
भावार्थ

5
@ कुशल: बिल्ली न केवल पूरी तरह से ट्यूरिंग कर रही है, यह बिल्कुल भी भाषा नहीं है। इसका कोई सिंटैक्स, कोई ग्रामर, कोई कीवर्ड नहीं है। मुझे नहीं पता कि बिटमस्क को अपनी परिभाषा कहां मिली - मैं इसका पालन नहीं करता।
उपयोगकर्ता अज्ञात

6
@userunknown catएक भाषा होने की कल्पना करना कठिन है , और इसके अलावा यह प्रश्न की भावना का उल्लंघन करता है (सीधे भाषा के नाम का उपयोग करता है)। मेरी टिप्पणी इस विचार का खंडन करने के लिए थी कि "बिल्ली एक वास्तविक भाषा नहीं है, क्योंकि यह ट्यूरिंग-पूर्ण नहीं है"। यह अन्य कारणों से एक भाषा नहीं है, लेकिन ट्यूरिंग-पूर्णता एक अच्छा निर्णय लेने वाला कारक नहीं है।



5

माणिक

छोटा नहीं है, लेकिन बहुत परोक्ष रूप से।

4.times{|x|print((82+11.24*x+8.231*Math.tan(111.2*x)).floor.chr)}


5

बैश / Brainfuck / सी

//bin/bash -c 'echo ${0##*/}'
#define p putchar
#define exit main(){p(p+67);p(10);}
exit
//++++++++[->++++++++++++>+>>++>+++<<<<<]>[->+>+>+>+<<<<]
//>+>++.>++.<-.<.>>----.<<---.>>>---.<<++.>---.

वाह! एक बहुवचन! अगला कदम: व्हॉट्सएप जोड़ें।
tbodt

4

Brainfuck

>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.
++++++++++++++++++++++++++++++++++++++++++++++++.
-----------------.
++++++++.
+++++.
--------.
+++++++++++++++.
------------------.
++++++++.

Br ** n! (पांच और जाने के लिए ...)
डॉ। बेलिसरियस

@ सबिसिसरियस: एचएम?
जॉय


1
आप [...]: +++++++++++>> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ के साथ छोटा बना सकते हैं: ++> ++++ <<<< -।।।।]> ++++++ >> ++++ <--- ++++++++ +++++ .-- ------। >> ++। * << ---। ++++++++।
जेबरनार्डो

12
यह विशिष्ट Git आउटपुट जैसा दिखता है ।
जॉय एडम्स

4

पर्ल

$^X=~/([a-z]+)[^\/]+$/;print$1,$/

मुझे केवल perआउटपुट के रूप में मिलता है (अंतिम एल को याद करते हुए)।
बायोकेक जूल

1
@BioGeek: क्या आपके Perlबाइनरी को बुलाया जाता है per?
निंजाल

2
मुझे भी मिलता है per। (मेरे $^Xकहते हैं /usr/bin/perl[^\/]+निगल l।)
Ilmari कारोनेन

तय: कमांड लाइन स्विच के $^X=~/([^\/]+)$/;print$1साथ चलाएं-l
ardnew

4

स्काला - 42

print(((1,1).getClass+"").substring(6,11))

अद्यतन - 39 वर्ण

print(('a.getClass+"").substring(6,11))

अच्छा! एक प्रकार, एक ही आकार: प्रिंट (("" + 'a.getClass) .plplit ("\\ b") (3))
फील्हो

मैं इसे पूंजीकृत पसंद करता हूं, लेकिन निश्चित रूप से, यह अब गोल्फ नहीं है। इसलिए, वेरिएंट बनाने की खुशी के लिए: प्रिंट (classOf [App] .toString.split ("\\ W")। Map (_। Capitalize) .apply (1))
PhiLho

23 वर्णों में एक ही चाल: ("" + नक्शा) .patch (5, "", 99)
deadsven

और 16: ("" + मैप) .take (5)
12


4

सी - 34

पिछली सी प्रविष्टि में टिप्पणी के रूप में इसे जोड़ने के लिए मेरे पास पर्याप्त प्रतिष्ठा नहीं है। ऊपर जैसा ही विचार है, लेकिन फ़ाइल नाम कुछ भी हो सकता है

main(){puts(index(__FILE__,0)-1);}

2
गह, लेकिन अब मैं अपनी फाइलों को नाम नहीं दे सकता "& raquo; \ 0 <3ASCII.c"
Walpen


3

विज़ुअल बेसिक (संस्करण 6.0)

MsgBox Right(Error(458), 12)

VBScript

On Error Resume Next
Err.Raise 458
MsgBox Right(Err.Description, 8)

VB6 और VBScript दोनों

On Error Resume Next
Err.Raise 458
D = Err.Description
MsgBox Mid(D, InStr(2, D, "V"))

VBScript एक "Bscript" का निर्माण करता है। मेरे कंप्यूटर पर।
किंजोकिफ

तुम बुरे आदमी हो।
Riking

3

QBasic (37)

मैं QBasic दुभाषिया के संस्करण 1.1 का उपयोग कर रहा हूं।

FOR x=0TO 5:?CHR$(PEEK(2588+x));:NEXT


3

गोल्फस्क्रिप्ट (13)

"#{$0[0..9]}"

+1 चतुर ... बहुत चालाक। बेशक, यदि आपने दुभाषिया का नाम बदला है, या यदि आप कहते हैं, तो यह काम नहीं करता है, तो इसे एक अलग निर्देशिका से चलाएं।
इल्मरी करोनें

Ps। "#{$0}"10<तीन वर्ण छोटा है। :)
इल्मरी करोनें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.