একটি কুইনে 2 বিড়াল


30

চ্যালেঞ্জ

এ এবং বি দুটি প্রোগ্রাম তৈরি করুন যা উভয়ই একই ভাষায় বিড়াল প্রোগ্রাম। সংক্ষিপ্ত হয়ে গেলে, AB (একই ভাষাতেও) একটি কুইন হওয়া উচিত।

উদাহরণস্বরূপ, ধরুন helloএবং worldXYZ ভাষায় উভয় বিড়াল প্রোগ্রাম। যদি helloworldবলা ভাষায় কোয়াইন হয় তবে আপনার সমাধানটি বৈধ।

বিড়াল এবং কুইনদের সাথে অপরিচিত যারা, তাদের জন্য একটি বিড়াল প্রোগ্রাম হ'ল স্ট্যান্ডিনের মাধ্যমে এটিকে যা দেওয়া হয়েছিল ঠিক তা প্রিন্ট করে এবং একটি কুইন এমন একটি প্রোগ্রাম যা তার নিজস্ব উত্স কোড মুদ্রণ করে।

স্কোরিং এবং বিধি

  • মিলিত এবি প্রোগ্রামের মোট বাইট গণনাটি আপনার স্কোর। এটি কোড গল্ফ হিসাবে, সর্বনিম্ন স্কোর জেতে।
  • স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ
  • ইনপুট অবশ্যই স্টিডিন থেকে নেওয়া উচিত এবং আউটপুট অবশ্যই স্টডআউটে যেতে হবে।
  • বিড়াল প্রোগ্রামগুলির পক্ষে যুক্তি নেওয়ার দরকার নেই; তাদের কেবল স্টডআউট করার জন্য স্টিডিনের অনুলিপি করতে হবে।
  • কুইনটি কাজ করা উচিত যখন প্রোগ্রামটিকে কোনও ইনপুট দেওয়া হয় না, তবে অন্যান্য ইনপুটগুলির জন্য সঠিকভাবে কাজ করতে হবে না (তবে হতে পারে)।
  • কুইনটির অবসান হওয়ার দরকার নেই, তবে এটি একবার তার উত্স কোডটি ঠিক একবার প্রিন্ট করে, আরও কিছু না।
  • কুইনটির কমপক্ষে একটি বাইট দীর্ঘ হওয়া দরকার।
  • এ এবং বি একই প্রোগ্রাম হতে পারে।
  • বিএ কোয়েন বা এমনকি কোনও বৈধ প্রোগ্রাম হওয়ার দরকার নেই।

আমি মনে করি না আপনার A এবং B একই প্রোগ্রামের নিয়ম হতে পারে
মুহাম্মদ সালমান

2
@ মুহাম্মাদসালমান আমার আসল ধারণাটি ছিল একটি বিড়ালের প্রোগ্রামটিকে দ্বিগুণ করে কোয়েনে পরিণত করা। আমি কেবল সহজ সমাধানের দরজা খুলতে চেয়েছিলাম কারণ আমি নিশ্চিত যে এটি সম্ভব কিনা। দেখে মনে হচ্ছে যে আমি উভয়ই বিবেচনায় ভুল ছিলাম তবে আমি এটির সাথে ভাল আছি।
বিফস্টার

3
আপনার সম্ভবত এটি যুক্ত করা ABউচিত যা অবশ্যই খালি নয়, কারণ প্রচুর ভাষায় 0-বাইট বিড়াল 0-বাইট কুইনের অনুমতি দেয়।
ডিজেএমসিএমহেম

9
@ ডিজেএমসিএমহেম 0-বাইট কুইন যদিও একটি বৈধ কুইন হবে না।
নিসা

4
একটি বিড়াল প্রোগ্রাম কি?
পেড্রো এ

উত্তর:


32

ভি , 2 + 2 == 4 বাইট

2i2i

কুইন চেষ্টা করে দেখুন!

বিড়াল চেষ্টা করুন!

একটি হল2i

বি হয়2i

এটা কিভাবে কাজ করে?

প্রথমত, ভি কীভাবে কাজ করে তার কিছু ব্যাখ্যা। এক উল্লেখযোগ্য জিনিস যে এই উত্তর সম্ভব করে তোলে যে ভী, খালি প্রোগ্রাম হয় একটি বিড়াল প্রোগ্রাম। এটি কোনও বিশেষ ক্ষেত্রে নয়, এটি ভি কীভাবে পরিচালনা করে তা সহজাত। প্রারম্ভকালে, সমস্ত ইনপুট একটি "বাফার" এ লোড করা হয়, প্রতিটি কমান্ড কোনও না কোনওভাবে বাফারকে পরিবর্তন করে এবং প্রোগ্রামটি শেষ হয়ে গেলে, বাফারটি স্পষ্টভাবে মুদ্রিত হয়। এর অর্থ হ'ল এনওপিগুলির যে কোনও স্ট্রিং একটি বিড়াল প্রোগ্রাম।

iকমান্ড মানে মোড সন্নিবেশ লিখুন , যা একটি নিম্নলিখিত প্রতিটি ভাষার প্রতিটি অক্ষরের মানে iবাফার মধ্যে যোগ করা হবে না। এর আগে থাকা একটি সংখ্যার সাথে, সেই পাঠ্যটি এন বারে নকল করা হবে ।

এর অর্থ হ'ল বিড়াল প্রোগ্রামের জন্য, বাফারে কিছুই যুক্ত করা হবে না এবং এটি পড়ার সাথে সাথে এটি মুদ্রণ করা হবে। অন্য কথায়:

        " (Implicitly) Load all input
2       " 2 times,
 i      " Insert the following text into the buffer...
        " (nothing)
        " (Implicitly) Print the buffer

কিন্তু কোয়েনের জন্য, এর পরে পাঠ্য রয়েছে i:

2       " 2 times,
 i      " Insert the following text into the buffer...
  2i    "   "2i"
        " (Implicitly) Print the buffer

গালমন্দ উত্তরহীন

ভি , 0 বাইট

এটি অনলাইন চেষ্টা করুন!

হল খালি প্রোগ্রাম।

বি খালি প্রোগ্রাম।

: P: P


21
অন্য প্রতিটি ভাষা: ওঁ, আমরা একটি মৃত শেষ করেছি! । ভি: * পোস্ট স্ট্যান্ডার্ড কোয়েন *
এরিক আউটগলফার

13

রুবি, 71 বাইট

2;puts (<<2*2+?2)[/.+2/m]||$<.read
2;puts (<<2*2+?2)[/.+2/m]||$<.read
2

নীচে বিড়ালদের মধ্যে বিচ্ছেদ করা যেতে পারে:

2;puts (<<2*2+?2)[/.+2/m]||$<.read
2

এবং

;puts (<<2*2+?2)[/.+2/m]||$<.read
2

অগ্রণী 2 বাদে দুটি বিড়াল অভিন্ন, যা তিনটি প্রোগ্রামেই কোনও বিকল্প নেই। <<2একটি herestring হয়, যে সবকিছু পর্যন্ত নিজস্ব লাইনে একটি সসীম 2 একটি স্ট্রিং, যা আমরা নিজেই (থেকে কনক্যাটেনেট হয় পরের লাইনে থেকে শুরু করে, যার অর্থ *2) এবং সংযুক্ত একটি trailing 2. বিড়াল herestring সুগঠিত কিন্তু খালি সালে সুতরাং নিয়মিত অভিব্যক্তি এটির সাথে মেলে না এবং আমরা $<.readএক্সপ্রেশন এবং আউটপুট STDOUT এ পড়ব। একবার আমরা বিড়ালদের একত্রীকরণ করি, তবুও, তৃতীয় লাইনের আগ পর্যন্ত স্ট্রিংটি শেষ হবে না, তাই রেজেক্স মেলে এবং আমরা শর্ট সার্কিট এবং কোয়াইন আউটপুট করি।


11

পাইথ, 29 বাইট (5 + 24) 27 বাইট (5 + 22)

pz=T0?TzjN*2]"pz=T0?TzjN*2]     # Quine
pz=T0                           # Cat A
     ?TzjN*2]"pz=T0?TzjN*2]     # Cat B

ঐটা মজা ছিল.
এখানে রানির
চেষ্টা করুন এখানে প্রথম বিড়ালটি চেষ্টা করুন এখানে দ্বিতীয় বিড়ালটি চেষ্টা করুন
Try

ব্যাখ্যা

Cat A
pz=T0
pz       Print the input.
  =T0    (Irrelevant for cat)

Cat B
?TzjN*2]"pz=T0?TzjN*2]
?Tz                      If T (10) is truthy, output the input.
   jN*2]"pz=T0?TzjN*2]   (Irrelevant for cat)

Quine
pz=T0?TzjN*2]"pz=T0?TzjN*2]
pz                            Print the (empty) input (without a newline).
  =T0                         Set T to 0.
     ?Tz                      If T (0) is truthy, output the input.
             "pz=T0?TzjN*2]   Otherwise, get this string...
          *2]                 ... take two copies...
        jN                    ... and join them with a quote.

11

সি # (ভিজ্যুয়াল সি # সংকলক) , 551 বাইট

উঃ 95 বাইট

class A{public static int i=2;static void Main(string[]args){System.Console.Write(args[0]);}}//

এটি অনলাইন চেষ্টা করুন!

বি: 438 + 18 বাইট

class A{public static int i=0;}
class B{static void Main(string[]args){if(A.i<1){System.Console.Write(args[0]);return;}var a=@"class A{{public static int i=2;static void Main(string[]args){{System.Console.Write(args[0]);}}}}//class A{{public static int i=0;}}
class B{{static void Main(string[]args){{if(A.i<1){{System.Console.Write(args[0]);return;}}var a=@{0}{1}{0};System.Console.Write(a,'{0}',a);}}}}";System.Console.Write(a,'"',a);}}

এটি অনলাইন চেষ্টা করুন!

এ + বি: 533 + 18 বাইট

class A{public static int i=2;static void Main(string[]args){System.Console.Write(args[0]);}}//class A{public static int i=0;}
class B{static void Main(string[]args){if(A.i<1){System.Console.Write(args[0]);return;}var a=@"class A{{public static int i=2;static void Main(string[]args){{System.Console.Write(args[0]);}}}}//class A{{public static int i=0;}}
class B{{static void Main(string[]args){{if(A.i<1){{System.Console.Write(args[0]);return;}}var a=@{0}{1}{0};System.Console.Write(a,'{0}',a);}}}}";System.Console.Write(a,'"',a);}}

এটি অনলাইন চেষ্টা করুন!

ক এবং বি একটি কমান্ড-লাইন আর্গুমেন্ট হিসাবে ইনপুট নেয়। A + B কোনও ইনপুট উপেক্ষা করে। /p:StartupObject=Bএমএসবিল্ডকে প্রেরণ করা বিকল্পের জন্য বি এবং এ + বিতে 18 বাইট যুক্ত করা হয় । এটি কেবলমাত্র এ + বি-তে কঠোরভাবে প্রয়োজনীয়, তবে এটি বি তেও না রাখার মতো প্রতারণার মতো বলে মনে হচ্ছে এইভাবে, A + বি এর জন্য সংকলক পতাকাগুলি A (কিছুই নয়) এর জন্য বি বিয়ের জন্য সংকলক পতাকা are

ব্যাখ্যা

প্রোগ্রাম এ সহজবোধ্য। ক্লাস এ-তে একটি (অব্যবহৃত) স্ট্যাটিক ভেরিয়েবল iপ্রারম্ভিক রয়েছে 2এবং এটি রান করার সময় প্রথম যুক্তিটি মুদ্রণ করে। //শেষে প্রথম সারির বি কোডের জন্য গুরুত্বপূর্ণ, কিন্তু একটি নিজেই কিছুই করে না।

প্রোগ্রাম বি বিচ্ছিন্নভাবে অদ্ভুত, তবে মূলত একই। এটি স্ট্যাটিক ভেরিয়েবল iসমেত একটি ক্লাস এ তৈরি করে 0এবং এরপরে ক্লাস বিয়ের মূল পদ্ধতি চালায়, যা প্রোগ্রাম এ এর ​​মতোই হয় কারণ A.i1 এর চেয়ে কম, এবং যে কোনও অদ্ভুত স্টাফের আগে ফিরে আসে। নতুন লাইনগুলি এখানে প্রয়োজনীয় নয়, তবে এটি এ বি এর জন্য গুরুত্বপূর্ণ।

যখন একত্রিত করা হয়, তখন //প্রোগ্রাম এ থেকে প্রোগ্রাম বি থেকে ক্লাস এ ঘোষণার বিষয়ে মন্তব্য করা হয়েছে, তবে নতুন লাইনের কারণে ক্লাস বি ঠিক আছে, পরিবর্তে প্রোগ্রাম এ থেকে মান A.iউল্লেখ করার অনুমতি দেয় 2। সংকলক পতাকা প্রোগ্রামটি B.Main () চালায়, যেহেতু A.Main () এছাড়াও বিদ্যমান। ফলাফলটি হ'ল প্রোগ্রাম এ + বি তার যুক্তি আউটপুট দেয় না, পরিবর্তে বি মাইন () এর নিম্নলিখিত বিভাগে যায় যা মূলত কেবলমাত্র স্ট্যান্ডার্ড সি # কোয়েন


1
"বিড়ালের প্রোগ্রামগুলি ... স্টিডিনে স্টিডিনের অনুলিপি করা দরকার"
জাকব

9

হাস্কেল , 116 + 20 = 187 175 174 136 বাইট

আরজান জোহানসেন আমাকে দেখানোর পর থেকে একগুচ্ছ বাইটস সংরক্ষণ করা হয়েছে interact

বিড়াল ঘ

g=";main|idmain<-(++\"g=\"++show g++g)=interact idmain|1>0=interact id";main|idmain<-(++"g="++show g++g)=interact id

এটি অনলাইন চেষ্টা করুন!

বিড়াল 2

main|1>0=interact id

এটি অনলাইন চেষ্টা করুন!

Quine

g=";main|idmain<-(++\"g=\"++show g++g)=interact idmain|1>0=interact id";main|idmain<-(++"g="++show g++g)=interact idmain|1>0=interact id

এটি অনলাইন চেষ্টা করুন!


এখানে কর্মক্ষেত্রে মৌলিক নীতি যে যখন আমরা দ্বিতীয় বিড়াল যোগ প্রথমে আমরা ফাংশন আমরা থেকে সাথে আলাপচারিতার হয় নাম পরিবর্তন হয় aথেকে idmain। যেহেতু interact idএকটি বিড়াল তাই আমরা idmainআমার কাছে এমন একটি ফাংশন চাই যা একটি কুইন ফেরায়। সুস্পষ্ট সমাধানটি ব্যবহার করা হবে const, তবে যেহেতু আমরা ধরে নিতে পারি ইনপুটটিও খালি (++)কাজ। এখান থেকে আমরা উত্স কোডটি বেশ মানক উপায়ের মাধ্যমে পাই, আমাদের কাছে একটি পরিবর্তনশীল রয়েছে gযা উত্সটি এনকোড করে থাকে এবং আমরা স্ট্রিং ফর্ম এবং কোড আকারে এটি মুদ্রণের জন্য একটি বিশেষ মোড়ক ব্যবহার করি। একটি সামান্য ব্যতিক্রম আছে যে আমাদের সামনে আমাদের এনকোডারটি রাখা উচিত কারণ আমাদের ইতিমধ্যে শেষ হওয়া দরকার interact id। এর অর্থ অতিরিক্তg=এনকোড করা হয়নি এবং নিজে হাতে পরিচালনা করতে হবে led আমাদের পরবর্তী বিড়ালটি বেশ মানসম্পন্ন, ব্যতীত অন্য বিড়ালটির শেষের দিকে যখন টেপ করা হয় তখন এটির বৈধ কোড তৈরি করা দরকার, যাতে আমাদের উভয় বিড়ালই প্যাটার্ন গার্ডগুলির উদাহরণ হতে পারে।

বিকল্প কৌশল, 43 + 105 = 186 148

বিড়াল ঘ

g="";main|idmain<-(++g++show g)=interact id

এটি অনলাইন চেষ্টা করুন!

বিড়াল 2

main|1>0=interact id where g="g=\"\";main|idmain<-(++g++show g)=interact idmain|1>0=interact id where g="

এটি অনলাইন চেষ্টা করুন!

Quine

g="";main|idmain<-(++g++show g)=interact idmain|1>0=interact id where g="g=\"\";main|idmain<-(++g++show g)=interact idmain|1>0=interact id where g="

এটি অনলাইন চেষ্টা করুন!


1
আপনি প্রতিস্থাপন যে বেশ একটু খাটো করতে পারেন getContents+ + putStrসঙ্গে interact idএটি অনলাইন চেষ্টা করুন! (কুইন আর খালি খালি ইনপুট নিয়ে কাজ করে না, যা এর (++ ...)জন্য একটি বিভাগ ব্যবহার করার অনুমতি দেয় idmain))
আরজান জোহানসেন

@ আরজান জোহানসেন ধন্যবাদ! আমি সম্পর্কে জানতাম না interact, আমি অনুমান করি কারণ হ্যাস্কেলের সাথে আমি খুব কমই আইও স্টাফ করি। আমি পোস্টটি সম্পাদনা করেছি।
গম উইজার্ড

8

পাইথন 3, 286 বাইট

আমার প্রথম পাইথন গল্ফ এবং আমার প্রথম কুইন! খুব মার্জিত নয়, তবে এটি কাজ করে।

প্রোগ্রাম এ (238 বাইট)

from atexit import*;s="from atexit import*;s=%r;register(lambda:print(end='b'in globals()and s%%s or open(0).read()));b=0\nif's'not in vars():print(end=open(0).read())";register(lambda:print(end='b'in globals()and s%s or open(0).read()));

(কোনও পেছনের নিউলাইন নেই)

প্রোগ্রাম বি (48 বাইট)

b=0
if's'not in vars():print(end=open(0).read())

(কোনও পেছনের নিউলাইন নেই)

এটি অনলাইন চেষ্টা করুন

প্রাপ্তি স্বীকার

  • -২৪ বাইট জো কিংকে ধন্যবাদ জানায়
  • -২২ বাইট জো কিংকে ধন্যবাদ জানায়

নতুন লাইন এবং উদ্ধৃতিগুলি না করার পরিবর্তে আপনি এটি করতে end=open...ও ব্যবহার করতে পারেন%r%s
জো কিং

কুল, আমি স্যুইচ করেছি %r। যদিও নিউলাইনটি সম্পর্কে আপনি কী বোঝেন তা নিশ্চিত নন।
জাকোব

1
%sএকটি নতুন লাইন ফর্ম্যাট করার পরিবর্তে , আপনি কেবল আক্ষরিক করতে পারেন \n। আপনি ;পরিবর্তে বিবৃতিগুলি বিভক্ত করতে \n( ifনিজের লাইনে থাকা প্রয়োজন বাদে ) ব্যবহার করতে পারেন । %না করে স্ট্রিং এ পালানো যেতে পারে %%। স্ট্রিংটি ফর্ম্যাট করার জন্য প্রয়োজনীয় যুক্তিটি হ'ল স্ট্রিং নিজেই, সমস্ত কিছুর স্ট্রাইপ করা যেতে পারে
জো কিং

1
প্রোগ্রাম বি (এবং এটির জন্য পাঠ্য) locals()2 বাইট সংরক্ষণ করতে ব্যবহার করতে পারে।
জোনাথন অ্যালান

6

সি ++ (ঝনঝন) , 313 + 102 = 415 বাইট

প্রোগ্রাম এ (একটি নতুন লাইনে শেষ):

#include<cstdio>
#define Q(x,y)#x,B=#y;x
int c;auto I="#include<cstdio>",A=Q(int main(){if(c)printf("%s\n#define Q(x,y)#x\",\"#y;x\nint c;auto I=\"%s\",A=Q(%s,)\n#ifdef Q\nint n=++c;\n#else\n%s\n%s\n#endif",I,I,A,I,B);else while((c=getchar())>=0)putchar(c);},int c;int main(){while((c=getchar())>=0)putchar(c);})

প্রোগ্রাম বি (নতুন লাইনে শেষ হয় না):

#ifdef Q
int n=++c;
#else
#include<cstdio>
int c;int main(){while((c=getchar())>=0)putchar(c);}
#endif

ভয়াবহভাবে লুক্কায়িত নয়, এবং যথারীতি সি ++ শট দেওয়ার পক্ষে দুর্দান্ত নয়। এখানে এবং সেখানে একই ধারণা বন্ধ করার উপায় আছে যদি আমি অবাক হব না। ছোট্ট একটি ক্যাচটি কোনও কিছু সংজ্ঞায়িত হওয়ার পরে তার আচরণ পরিবর্তন করে এবং পার্শ্ব প্রতিক্রিয়াযুক্ত একটি গতিশীল পরিবর্তনশীল আরম্ভকারী কৌশলটি করে the (এটি এমনকি সংকলক এক্সটেনশন ছাড়াই সিতেও করা যেতে পারে?)

এটি অনলাইনে ব্যবহার করে দেখুন: , বি , এবি

(শুধুমাত্র বহনযোগ্যতা উদ্বেগ আমি সচেতন আছি যে প্রোগ্রাম পরিগ্রহ করে <cstdio>বিশ্বব্যাপী নামস্থান এবং উভয় রাখে নাম std।)


5

বেফুঞ্জ -98 (এফবিবিআই) , 8 + 15 = 23 বাইট

এ + বি: (কেবল কোনও ইনপুট না দিয়ে কাজ করে)

+9*5~,#@#@~,9j>:#,_:@#"

এটি অনলাইন চেষ্টা করুন!

উত্তর:

+9*5~,#@

এটি অনলাইন চেষ্টা করুন!

খ:

#@~,9j>:#,_:@#"

এটি অনলাইন চেষ্টা করুন!


আমি ভাবছিলাম যদি কেউ একটি বেফঞ্জ উত্তর পরিচালনা করে। এটি খুব খারাপ যে এটি 2D নয়: - /
বীফস্টার

@ বিফস্টার হ্যাঁ সমস্যাটি 2 ডি কুইন করা বেশ কঠিন। সম্ভবত আমি যদিও কিছু নিয়ে কাজ করব
মাইল্ডিলিকিউয়েস্ট

5

পাইথন ঘ , 100 + 37 = 137 বাইট

প্রোগ্রাম এ:

s='s=%r;print(end=open(0).read())#print(end=open(0).read())\nprint(s%%s)';print(end=open(0).read())#

এটি অনলাইন চেষ্টা করুন!

প্রোগ্রাম বি:

print(end=open(0).read())
print(s%s)

এটি অনলাইন চেষ্টা করুন!

কুইন এ বি তৈরি করুন

s='s=%r;print(end=open(0).read())#print(end=open(0).read())\nprint(s%%s)';print(end=open(0).read())#print(end=open(0).read())
print(s%s)

এটি অনলাইন চেষ্টা করুন!

কেবলমাত্র ইনপুট খালি থাকা অবস্থায় কাজ করে, অন্যথায় এটি আউটপুটটিকে ইনপুটটিকে পূর্ববর্তী করে।


ডাবল উদ্ধৃতিগুলি একক হওয়া উচিত।
জোনাথন অ্যালান

ক্রাশিং অনুমোদিত?
জাকোব

প্রশ্ন @Jakob বলে না যে ক্র্যাশ করছে না দেয়া, এবং সাধারণত stderr আউটপুট উপেক্ষা করা হয়
জো রাজা

যথেষ্ট ঠিক পরিষ্কার. চালাক শর্টকাট!
জাকব

4

সহদূত , 15 + 126 = 141 বাইট

উত্তর:

AllInput[]|Echo

এটি অনলাইন চেষ্টা করুন!

খ:

@{If[_,s.="AllInput[]|Echo@{If[_,s.=%s;;Printf[s,Repr!s],AllInput[]|Echo]es}|Call";;Printf[s,Repr!s],AllInput[]|Echo]es}|Call

এটি অনলাইন চেষ্টা করুন!

এ + বি:

AllInput[]|Echo@{If[_,s.="AllInput[]|Echo@{If[_,s.=%s;;Printf[s,Repr!s],AllInput[]|Echo]es}|Call";;Printf[s,Repr!s],AllInput[]|Echo]es}|Call

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

বিড়াল প্রোগ্রামের প্রতিটি এনকোড AllInput[]|Echo, যা একটি সাধারণ বিড়াল প্রোগ্রাম। বি প্রধান কুইন ফেজ; একা, এটি একটি ভেক্টরাইজড ফাংশন (আনরি মাধ্যমে @) কোনও ইনপুট না দিয়ে ডাকা হয় (হিসাবে ডাকা হচ্ছে |Call)। সুতরাং, প্রথম শর্তাধীন If[_,A,B], executes B, সহজভাবে যাAllInput[]|Echo

যখন A + B কার্যকর করা হয়, ল্যাম্বডায় একত্রিত হওয়ার কারণে অ্যানারি দ্বি-দ্বিস্থ @হয়ে যায় :@Echo

AllInput[]|Echo@{If[_, ...

এখন, এর অর্থ হ'ল ল্যাম্বদা আগে কার্যকর করা হয়েছিল Echo। শর্তসাপেক্ষে ফিরে আসুন, এখন এই ফাংশনটিতে যুক্তি হিসাবে সমস্ত STDIN রয়েছে has সুতরাং, If[_,A,B]executes A, যা মান quine ফ্রেমওয়ার্ক হয়।


3

Stax , 16 + 12 = 28 বাইট

বিড়াল 1:

"yi|d|ca34b4lr"y

এটি চালান এবং এটি ডিবাগ করুন

"yi|d|ca34b4lr"y Full program, implicit input
"yi|d|ca34b4lr"  Push the string
               y Push raw input
                 Implicit output of top item

বিড়াল 2:

i|d|ca34b4lr

এটি চালান এবং এটি ডিবাগ করুন

i|d|ca34b4lr Full program, implicit input
i            Don't parse input (prefix directive)
 |d          Push main stack depth, always zero
   |c        Cancel because top item is falsy, and implicitly print
     a34b4lr Never executed

Quine:

"yi|d|ca34b4lr"yi|d|ca34b4lr

এটি চালান এবং এটি ডিবাগ করুন

"yi|d|ca34b4lr"yi|d|ca34b4lr Full program
"yi|d|ca34b4lr"              Push the string
               y             Push input
                i            No-op
                 |d          Push main stack depth, i.e. 2
                   |c        Do nothing because top is truthy
                     a       Get the string to the top
                      34     Push 34 (charcode of ")
                        b    Copy both
                         4l  Listify top 4
                           r Reverse
                             Implicit output

3

বিড়াল 1:

লুয়া , 41 বাইট

a=io.read;while a(0)do io.write(a(1))end;

এটি অনলাইন চেষ্টা করুন!


বিড়াল 2:

লুয়া , 70 বাইট

if a then io.input(arg[0])end;a=io.read;while a(0)do io.write(a(1))end

এটি অনলাইন চেষ্টা করুন!


কুইন:

লুয়া , 111 বাইট

a=io.read;while a(0)do io.write(a(1))end
if a then io.input(arg[0])end;a=io.read;while a(0)do io.write(a(1))end

এটি অনলাইন চেষ্টা করুন!

io.input(arg[0]) বিড়াল 2 এ বর্তমান ফাইলটিকে স্ট্যান্ডার্ড ইনপুট হিসাবে সেট করে এবং ফলস্বরূপ, বিড়ালটি উত্স কোডটি মুদ্রণ করে


1
পিপিসিগিতে আপনাকে স্বাগতম
মুহাম্মদ সালমান

আপনি সর্বশেষ আধা-কোলনটি সরিয়ে বিড়াল 1 এ একটি বাইট সংরক্ষণ করতে পারেন?
মুহাম্মদ সালমান

1
দুর্ভাগ্যক্রমে, বর্তমান ফাইলটি পড়া একটি মান ফাঁক। তবে যাই হোক না কেন চেষ্টা করুন।
গরুর মাংসের কাঠের


0

জাভাস্ক্রিপ্ট (নোড.জেএস) , 199 বাইট


a=()=>console.log(require('fs').readFileSync(0)+'');a();var a=a||0;b=()=>console.log(require('fs').readFileSync(0)+'');!a?b():c=()=>console.log(`a=${a};a();var a=a||0;b=${b};!a?b():c=${c},c()`),c()

এটি অনলাইন চেষ্টা করুন!

বিড়াল এ, 57 বাইট


a=()=>console.log(require('fs').readFileSync(0)+'');a();

এটি অনলাইন চেষ্টা করুন!

বিড়াল বি, 142 বাইট

var a=a||0;b=()=>console.log(require('fs').readFileSync(0)+'');!a?b():c=()=>console.log(`a=${a};a();var a=a||0;b=${b};!a?b():c=${c},c()`),c()

এটি অনলাইন চেষ্টা করুন!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.