জেএসএফ ** কে সাধারণ জেএসে রূপান্তর করুন


12

আপনারা অনেকে ইতিমধ্যে জেএসএফ ** কে জানেন । যারা না করেন তাদের পক্ষে এটি একটি স্ক্রিপ্ট যা মূলত যে কোনও জাভাস্ক্রিপ্ট কোডকে কেবল কিছু ব্যবহার করে লিখিত কিছুতে রূপান্তরিত করে []()!+

আপনার কাজটি আপনার পছন্দের যেকোন ভাষা ব্যবহার করে তৈরি করা, এমন একটি প্রোগ্রাম যা জেএসএফ ** কে অনাবৃত জাভাস্ক্রিপ্টে রূপান্তর করে।

  • ইনপুট : বৈধ জেএসএফ ** কে কোড সহ একটি স্ট্রিং।
  • আউটপুট : নিয়মিত জাভাস্ক্রিপ্ট কোড সহ একটি স্ট্রিং যা পূর্বে জেএসএফ ** কেড করা হয়েছিল ইনপুট তৈরি করতে।

এই চ্যালেঞ্জের জন্য, বিবেচনা করুন যে ইনপুট স্ট্রিংটি কেবল একবার JSF ** কেড হয়েছে।

এটি একটি প্রতিযোগিতা, তাই সংক্ষিপ্ততম কোডটি, বাইটে, জিতে।


@ মিশেল কিন্তু এনকোডিংটি কি দ্ব্যর্থহীনভাবে ফিরে যেতে পারে? আমার মনে হয় না ... কিছু [...]অ্যারে অ্যাক্সেস মূল কোড বা অবলোকনের অংশ ছিল কিনা আমি কীভাবে সিদ্ধান্ত নেব ? অন্য সমস্ত নির্মাণের জন্য একই, সত্য।
মার্টিন এন্ডার

2
@ জনডভোরাক ওহ কী ... এটি এতটা পাল্টা-উত্পাদনশীল ... আমরা এই প্রশ্নটি বন্ধ করে এবং ডাউনভোটিংয়ের পরিবর্তে উজ্জীবিত করতে তাকে সাহায্য করতে পারি।
মার্টিন এন্ডার

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

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

1
সাধারণ জাভাস্ক্রিপ্ট মানে কি আপনি দয়া করে কিছু ব্যাখ্যা যুক্ত করতে পারেন ? এটি কীভাবে ব্যাক-ট্রান্সফর্মেশন করতে হবে তা স্পষ্ট নয়। উদাহরণস্বরূপ, আমি যদি কোনও ভাল ইনপুটটিতে দু'বার পুনরুক্তি করি, তবে প্রস্তাবিত আউটপুটটি কী? মূল প্রোগ্রাম বা ইনপুটটি যা ইতিমধ্যে আবদ্ধ ছিল?
হাওয়ার্ড

উত্তর:


12

জাভাস্ক্রিপ্ট - 68 55 51

alert(/\n(.+)/.exec(eval(prompt().slice(0,-2)))[1])

বিকল্পভাবে: (একই দৈর্ঘ্য)

alert(/.+(?=\n})/.exec(eval(prompt().slice(0,-2))))

আপনার ব্রাউজারের কনসোলে চলছে। কেবল jsfuck.com দ্বারা উত্পাদিত কোডের সাথে কাজ করার গ্যারান্টিযুক্ত 'ইভাল উত্স' বিকল্পের টিক দিয়ে।

Ungolfed:

alert(
    /\n(.+)/.exec(                 // regex to extract code from inside outer function braces {}
        eval(prompt().slice(0,-2)) // remove the final set of parens () and evaluate the code
                                   // this results in a function, which will be converted to a string as 'exec' expects a string
    )[1]                           // get the first capture group
)

প্রস্তাবিত সম্পাদনায় যা আমি প্রত্যাখ্যান করেছি, @ ব্যবহারকারী 3082537 স্লাইসের পরিবর্তে রেজিেক্স ব্যবহার করার পরামর্শ দিয়েছে, যেমনreplace(/^.*\n|\n}$/g,'')
ব্যবহারকারী 12205

7

জাভাস্ক্রিপ্ট, 122, যে কোনও ইনপুট নিয়ে কাজ করে

s=prompt().slice(0,-2)
i=s.length
while(i--){if((l=s.slice(i)).split(')').length==l.split('(').length)break}alert(eval(l))

বেশ সহজ; বন্ধনী ( (এবং )) ভারসাম্য না হওয়া পর্যন্ত এটি কেবল স্ট্রিংয়ে ফিরে যায় । জেএসএফ আউটপুটের সর্বশেষ তিনটি অক্ষর সর্বদা থাকে )() , তাই শেষ 2 টি প্যারেনগুলি কেটে ফেলা হয় এবং তারপরে অন্যটির সাথে মিলে যাওয়া পেরেন সন্ধান করা সর্বদা কার্যকর হবে। ( []এটিও ইনপুট নিয়ে কাজ করে।)

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