একটি অর্ধেক লিখুন


10

ধরুন আপনার কাছে 2 টি ভাষা আছে Aএবং B। একটি স্ট্রিং sএকটি আধা চক্র Aএবং Bযদি এটি নিম্নলিখিত শর্তগুলি পূরণ করে:

  1. sভাষার একটি কুইন A
  2. sএকটি বহুভুজ Aএবং B
  3. প্রোগ্রাম sহিসাবে চলমান আউটপুট Bএকটি পৃথক স্ট্রিং s', যা একটি কুইন B

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

কুইন্সের বিধি

শুধুমাত্র সত্য কুইন গ্রহণ করা হয়। অর্থাৎ আপনাকে সমগ্র উতস কোড, stdout- এ ধারণকৃত মুদ্রণ প্রয়োজন ছাড়া :

  • প্রত্যক্ষ বা অপ্রত্যক্ষভাবে আপনার উত্স কোডটি পড়ছেন।
  • একটি REPL পরিবেশের উপর নির্ভর করে যা কেবল আপনি খাওয়ানো প্রতিটি অভিব্যক্তি কেবল মূল্যায়ন করে এবং মুদ্রণ করে।
  • ভাষার বৈশিষ্ট্যগুলির উপর নির্ভর করে যা নির্দিষ্ট ক্ষেত্রে উত্সটি কেবল মুদ্রণ করে।
  • ত্রুটি বার্তা বা STDERR ব্যবহার করে কোয়েনের সমস্ত বা অংশ লিখতে। (আপনি STDERR এ জিনিস লিখতে পারেন বা সতর্কতা / অ-মারাত্মক ত্রুটি তৈরি করতে পারেন যতক্ষণ না STDOUT একটি বৈধ কুইন এবং ত্রুটি বার্তাগুলি এর অংশ না হয়))

তদ্ব্যতীত, আপনার উত্স কোডটি অবশ্যই খালি আক্ষরিক (যদিও সেগুলি স্ট্রিং লিটারাল, সংখ্যাসূচক অক্ষর ইত্যাদি) এবং / অথবা এনওপি সমন্বিত থাকতে হবে। উদাহরণস্বরূপ, `12জেলি এবং পাইথের বহুবিবাহ, তবে জেলিতে এটি একটি এনওপি এবং একটি সংখ্যাসূচক হয়, সুতরাং এটি বৈধ নয়।

কোয়েনের বৈধতার জন্য আউটপুটে কোনও দমনযোগ্য আউটপুট (যেমন কপিরাইট নোটিশস, স্টার্টআপ / শাটডাউন বার্তাগুলি, বা একটি পেছনের লাইন ফিড) উপেক্ষা করা যেতে পারে।

পলিগ্লটসের বিধি

ব্যবহৃত দুটি ভাষা অবশ্যই পৃথক পৃথক হতে হবে। নির্দিষ্টভাবে:

  • সেগুলি অবশ্যই একই ভাষার আলাদা সংস্করণ নয় (যেমন পাইথন 2 বনাম পাইথন 3)।
  • সেগুলি একই ভাষার পৃথক উপভাষা হওয়া উচিত নয় (উদাঃ পাস্কাল বনাম ডেল্ফি)।
  • একটি ভাষা অন্য একটির উপসেট নাও হতে পারে (উদাঃ সি বনাম সি ++ 1 )।
  • একটি ভাষা অন্যটির তুচ্ছ উদ্দীপক নাও হতে পারে (উদাঃ মতলব বনাম অষ্টাভা 2 , ব্রেনফাক বনাম বুলফাক বনাম টিনিবিএফ বনাম শ্যাডিএসফাক বনাম অন্যান্য সমস্ত তুচ্ছ মস্তিষ্কের ডেরিভেটিভস)।

বিবিধ বিধি

  • আপনি STDIN (বা অন্য কোনও উত্স) থেকে ইনপুট গ্রহণ করতে পারবেন না। যদি আপনার নির্বাচিত ভাষায় অবশ্যই ইনপুট নিতে হয়, তবে হয় ইনপুটটি অবশ্যই ফাঁকা (ফাঁকা স্ট্রিং, পাইপযুক্ত /dev/null, ইত্যাদি), অথবা প্রোগ্রামের আউটপুট অবশ্যই ইনপুটটির উপর নির্ভর করবে না।
  • এই চ্যালেঞ্জের জন্য, আপনাকে অবশ্যই একটি সম্পূর্ণ প্রোগ্রাম লিখতে হবে। সমাধানটি চালানোর জন্য অতিরিক্ত কোডের প্রয়োজনীয়তা অনুমোদিত নয় (যেমন সমাধানে সংজ্ঞায়িত ল্যাম্বদা ফাংশন নির্ধারণ এবং কল করা)।

1: হ্যাঁ আমি জানি যে সি আসলে সি ++ এর উপসেট নয়। বহুগ্লটগুলির উদ্দেশ্যে বিবেচনা করার পক্ষে এটি যথেষ্ট নিকটে, যদিও আমি এই চ্যালেঞ্জের জন্য এটি গণনা করছি।

2: উপরের পয়েন্ট 1 এর মতো, যদিও অক্টোব প্রযুক্তিগতভাবে মতলবের সাথে 100% সামঞ্জস্যপূর্ণ নয়, এটি উপযুক্তভাবে নকশাকৃত হয়েছিল এবং এটি এতটা কাছে যে কোনও মাতলাব / অক্টাভ বহুগ্লোটকে চ্যালেঞ্জকে তুচ্ছ করে তুলবে।


ESMin এর অনুলিপি ব্লক অনুমোদিত?
lirtosiast

@ থমাসকওয়া আমি ইএসমিনের সাথে পরিচিত নই, তাহলে আপনি কি আমাকে দ্রুত পালটা দিতে পারবেন?
মেগো

একটি অনুলিপি শুরু করার জন্য একটি আদেশ রয়েছে, যা অতীতের সমস্ত কিছুর উত্স কোড পায়। আমি মনে করি অন্যান্য জেএস গল্ফিং ভাষার একটিও থাকতে পারে।
lirtosiast

@ থমাসকওয়া কোয়েন বিধিগুলিতে প্রথম নিয়মের অধীনে এর অনুমতি দেওয়া হবে না (প্রত্যক্ষ বা অপ্রত্যক্ষভাবে সোর্স কোডটি পড়ছে না)।
মেগো

1
@ ডাউনগোট এত দিন যতক্ষণ না এটি অন্য কোনও নিয়ম ভঙ্গ করে না, একেবারে। গালাগালি করা গালাগালি করা এই সাইটের লক্ষ্য এক ধরণের :) :)
মেগো

উত্তর:


6

গল্ফস্ক্রিপ্ট + ফিশন , 19 18 বাইট

{".~
'!+OR"
2<}.~

ট্রেলিং লাইনফিডটি প্রয়োজনীয়।

এটি গল্ফস্ক্রিপ্টের সত্যিকারের কুইন। এটি অনলাইন চেষ্টা করুন!

ফিশনে এটি প্রিন্ট করে

'!+OR"

যা ফিশনে সত্যিকারের চাবিকাঠিএটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

গল্ফস্ক্রিপ্টে, ফর্মের কিছু

{...}.~

স্ট্যাকের ...সাথে একটি স্ট্রিং রেখে যতক্ষণ দীর্ঘ একটি কুইন ".~".ব্লক সদৃশ, সেখানে একটি কপি শেষে মুদ্রিত পরার যে যেমন যে, এবং ~, executes এটা, তাই আমরা প্রিন্ট করতে এটির সামগ্রীগুলি ব্যবহার করতে পারেন .~নিজেই। এই ক্ষেত্রে, ব্লকটি স্ট্রিংকে ধাক্কা দেয়

".~
'!+OR"

এবং তারপরে এটি প্রথম দুটি অক্ষরে ছাঁটাই করে 2<

বিভাজন প্রোগ্রামটি সত্যই কুইনের মতোই কাজ করে , যেহেতু প্রথম এবং তৃতীয় লাইনটি পুরোপুরি প্রোগ্রামটিকে উপেক্ষা করে।


6

রুবি + (জাভাস্ক্রিপ্ট বা পাইথন 3), 76 বাইট

এটি আমার আরেকটি পছন্দসই ভাষা, রুবি, জাভাস্ক্রিপ্ট এবং পাইথন 3-এর প্রায় প্রচলিত উপসেট ব্যবহার করে এটি সমাধান করা যেতে পারে; এবং প্রদত্ত যে আমাদের কাছে এখনও বাহ্যিক ভাষায় কোনও উত্তর নেই, এবং অনেক লোক অ-গল্ফিং-ভাষা সমাধান দেখতে পছন্দ করে, আমি ভেবেছিলাম যে আমি এর একটি অবদান রাখব। আরও ভাল, একই উত্তর একই সময়ে বিভিন্ন উপায়ে চ্যালেঞ্জ সমাধান করে।

এখানে s:

s="'";d='"';n='print("s="+d+s+d+";d="+s+d+s+";n="+s+n+s+";eval(n)")';eval(n)

এটি রুবির একটি কুইন। এটি জাভাস্ক্রিপ্ট বা পাইথন 3 এ কোয়েন নয়; আপনি যদি সেগুলি যে কোনও একটি ভাষাতে চালনা করেন তবে এর আউটপুটটির s'একটি পিছনের নতুন লাইন রয়েছে এবং এইভাবে আলাদা:

গুলি = " '"; D =' " '; এন =' মুদ্রণ (" গুলি = "+ D + S + + D +"; D = "+ S + D + S + +"; এন = "+ S + N + S" ; Eval (ঢ) ") '; Eval (ঢ)

যাইহোক, s'জাভাস্ক্রিপ্ট এবং পাইথন 3 এর বহুবিবাহ কুইন! (আমার পক্ষে যথারীতি, আমি জাভাস্ক্রিপ্টের রাইনো বাস্তবায়ন উভয় সুবিধার্থে ব্যবহার করছি (এটি ব্রাউজারের চেয়ে কমান্ড লাইন থেকে চালিত হয়)) এবং কারণ এটিতে একটি অদ্ভুত স্ট্যান্ডার্ড লাইব্রেরি রয়েছে যাতে printস্ট্যান্ডার্ড আউটপুটে লেখেন) উভয় ভাষা উভয়ই s'প্রোগ্রাম চালনার ফলে উত্পাদন করে produce

বোনাস হিসাবে, এই প্রোগ্রামটি বিপরীতে সমস্যার সমাধান করে। আপনি যদি s'রুবিতে চালানোর সিদ্ধান্ত নেন তবে এটি sআবার আসল প্রোগ্রামটি মুদ্রণ করবে । যেমন, s'একটি বৈধ (তবে কিছুটা দীর্ঘ, 77 বাইটে) প্রশ্নের উত্তর।

এই মুহুর্তে, আমি প্রায় ভাবতে শুরু করি "দুটি প্রোগ্রাম পৃথক হিসাবে গণ্য করার জন্য একটি নতুন লাইনের সাথে আউটপুট শেষ হবে কিনা তার মধ্যে পার্থক্য" একটি স্ট্যান্ডার্ড লুফোল হিসাবে বিবেচনা করা উচিত, যে এটি ভাষার দ্বিতীয় সেট বলে মনে হচ্ছে (সুপরিচিত গল্ফস্ক্রিপ্ট / সিজে্যামের বাইরে) যাতে কৌশলটি ছুঁড়ে ফেলা সম্ভব।


2

ভিটসি (নিরাপদ মোড) এবং ওয়াই, 9 বাইট, নন-কেপটিং।

' Ugrd3*Z

ভিট্টিতে, এটি একটি কোয়াইন। Y তে, এই মুদ্রণ Ugrd3*Z'; চালানোর সময়, এই মুদ্রণগুলি Ugrd3*Z', যা ওয়াইয়ের মধ্যে একটি কুইন Y ওয়াই তবে প্রশ্ন পোস্ট করে।

ভিট্টি যা দেখছেন:

 ' Ugrd3*Z
 '         Heyyyy a string! Let's do this!
  ........ Capturing a string! Oh, not done? Hm, let's go back to the start.
 '         There we go.
           (space) ...
   U       (no op)
    g      use count, disabled in safe mode
     r     reverse stack
      d3*  push a '
         Z print it all!

আপনি যা দেখেন:

' Ugrd3*Z
'         Push a space.
  U       Wrap around and capture.
   g      Print that. (Nothing else is printed.)

1
দ্রষ্টব্য যে এটি কেবল নিরাপদ মোডে কাজ করে বা এর পরিবর্তে এর কিছু ... অ-নিরাপদ মোডে অনিচ্ছাকৃত পার্শ্ব প্রতিক্রিয়া রয়েছে।
অ্যাডিসন ক্র্যাম্প

1

সিজোম + গল্ফস্ক্রিপ্ট, 9 বাইট

"0$p"
0$p

এটি সিজেমের একটি কুইন। গল্ফস্ক্রিপ্টে এটি গতিশীল নিউলাইনের সাথে নিজেকে ছাপিয়ে যায়, যা গল্ফস্ক্রিপ্টে একটি কুইন।

আমি নিশ্চিত নই যে সিজেমকে গল্ফস্ক্রিপ্টের তুচ্ছ ব্যুৎপন্ন হিসাবে বিবেচনা করা উচিত। তবে আমি মনে করি এগুলি বেশ আলাদা এবং কমপক্ষে তুচ্ছ নয়।

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