জাভা জাভা স্ক্রিপ্ট হিসাবে কার কার্পেট হয়


36

শিরোনাম চুরি দ্বারা অনুপ্রাণিত গ্রেগ Hewgill এর উত্তর থেকে কি জাভাস্ক্রিপ্ট এবং জাভা মধ্যে পার্থক্য?

ভূমিকা

জাভা এবং জাভাস্ক্রিপ্ট সাধারণত প্রোগ্রামারদের মধ্যে ভাষা ব্যবহৃত হয় এবং বর্তমানে স্ট্যাক ওভারফ্লোতে সর্বাধিক জনপ্রিয় ট্যাগ। তবুও আমরা সবাই জানি যে একই নাম বাদে দুজনের মধ্যে প্রায় মিল নেই।

প্রোগ্রামিংয়ের অন্যতম কুখ্যাত বিতর্ক, এবং ট্যাগ অনুসন্ধানে আমার সাম্প্রতিক হতাশার দ্বারা অনুপ্রাণিত হয়ে সম্মানের জন্য , আমি নিম্নলিখিত প্রস্তাব করছি:

চ্যালেঞ্জ

ইনপুট হিসাবে একটি স্ট্রিং লাগে যা একটি প্রোগ্রাম লিখুন। carস্ট্রিংটি "জাভা" দিয়ে শুরু হয় এবং "জাভাস্ক্রিপ্ট" অন্তর্ভুক্ত না হলে ফিরে আসুন । অন্যথায়, ফিরে carpet

উদাহরণ ইনপুট এবং আউটপুট

গাড়ী:

java
javafx
javabeans
java-stream
java-script
java-8
java.util.scanner
java-avascript
JAVA-SCRIPTING
javacarpet

গালিচা:

javascript
javascript-events
facebook-javascript-sdk
javajavascript
jquery
python
rx-java
java-api-for-javascript
not-java
JAVASCRIPTING

নোট


2
নতুন প্যাটার্ন-ম্যাচিং ট্যাগটির একটি উইকি দরকার। দয়া করে অবদান রাখুন
ক্রিস্টোফার

2
অর্ডারে জিনিসগুলি javacarpetযেভাবে করা হয় তার উপর নির্ভর করে বিদ্যমান বাগের পরীক্ষাগুলিতে যে বাগগুলি রয়েছে তা ধরা পড়ে catch
রায়

17
যদি আপনি পান imaginary bonus points if your answer uses Java, Javascript, or Regexতবে এটি কি এই জাতীয় সমাধানের বাইটকাউন্টকে জটিল করে তোলে? ;)
স্টেডিবক্স

Alternate Title: Java is to JavaScript as ham is to hamsterবাস্তবিক, "হ্যাম" "ধেড়ে ইঁদুরের ন্যায় প্রাণিবিশেষ" এ হল খাবার "হ্যাম" থেকে সমানজাতীয়। "হাম" খাদ্যটি হ'ল শূকর মাংস, এবং "হ্যামস্টার" শব্দটি সম্পর্কিত প্রাণী থেকে এসেছে, গিনি পিগ, যার মাংস দীর্ঘ সমুদ্রের ভ্রমণে শূকর মাংসের বদলে প্রাণীর একটি জাহাজের উপরে উঠানো সহজ ছিল।
ডটানকোহেন

উত্তর:


100

জাভা / জাভাস্ক্রিপ্ট পলিগ্লট, 108 107 106 বাইট

//\u000As->s.matches("(?i)(?!.*javascript)java.*"/*
a=>/(?!.*javascript)^java/i.test(a/**/)?"car":"carpet"

জাভা হিসাবে চালান

//\u000As->s.matches("(?i)(?!.*javascript)java.*"/*
a=>/(?!.*javascript)^java/i.test(a/**/)?"car":"carpet"

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

দ্রষ্টব্য: হাইলাইটটি ভুল হিসাবে বিশ্বাস করবেন না। আসল জাভা, নীচের মতো যথাযথভাবে ব্যাখ্যা করা হয়েছে কারণ \u000Aসংকলনের প্রথম ধাপে ব্যাখ্যা করা হয়েছে যেমন \n, লাইন কমেন্ট ( //) দিয়ে শুরু হওয়া মন্তব্যটি শেষ করে ।

//
s->s.matches("(?i)(?!.*javascript)java.*"/*
a=>/(?!.*javascript)^java/i.test(a/**/)?"car":"carpet"

জাভাস্ক্রিপ্ট হিসাবে চালান

//\u000As->s.matches("(?i)(?!.*javascript)java.*"/*
a=>/(?!.*javascript)^java/i.test(a/**/)?"car":"carpet"

জেএস সংস্করণটির জন্য @CowsQuak এর ক্রেডিট।

let f=

//\u000As->s.matches("(?i)(?!.*javascript)java.*"/*
a=>/(?!.*javascript)^java/i.test(a/**/)?"car":"carpet"

var a=["java","javafx","javabeans","java-stream","java-script","java-8","java.util.scanner","javascript","java-avascript","javascript-events","facebook-javascript-sdk","javajavascript","jquery","python","rx-java","java-api-for-javascript","not-java"];

for(var s of a) console.log(s.padStart(a.reduce((x,y)=>x.length>y.length?x:y).length) + "=>" + f(s));

এই উত্তরের জন্য কয়টি কাল্পনিক বোনাস পয়েন্ট?

জাভা উত্তরে @ নেভায়েকে -1 বাইট ধন্যবাদ ।


1
এটি জাভাস্ক্রিপ্ট বা জাভাতে প্রতিযোগিতামূলক নয়। এমনকি আমি নিশ্চিত নই যে এটি একটি গুরুতর প্রতিযোগী, যা সমস্ত দাখিলের জন্য প্রয়োজনীয়।
ডেনিস

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

24
@ ডেনিস আইএমএইচও "জাভা / জাভাস্ক্রিপ্ট বহুগ্লোট" তার নিজস্ব ভাষা হিসাবে গণ্য হয়েছে, এক্ষেত্রে এটি অত্যন্ত প্রতিযোগিতামূলক।
ETH প্রোডাকশন

1
@ অলিভিয়েরগ্রোগোয়ার আমি বলছি না এটি একটি ভাল-গল্ফযুক্ত বহুভোজী জমা নয়, তবে এটি বিতর্কযোগ্য যদি প্রথম স্থানে বহুবিবাহ চ্যালেঞ্জগুলিতে বহুভুজ জমা দেওয়া উচিত। তারা গুরুতর প্রতিযোগী যে চ্যালেঞ্জ জিজ্ঞাসা করে তার চেয়ে বেশি কিছু করতে পারে তার অংশ হিসাবে উঠে এসেছিল ? আলোচনা, তবে আমি মনে করি না যে এই নির্দিষ্ট বিষয়ে একটি পরিষ্কার sensক্যমত্য আছে। ব্যক্তিগতভাবে, আমি পক্ষে নেই।
ডেনিস

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

17

জাভাস্ক্রিপ্ট, 50 49 বাইট

রেজেক্স পুনরায় সাজিয়ে @ ভ্যালিউইঙ্ককে 1 বাইট ধন্যবাদ সংরক্ষণ করা হয়েছে

a=>/javascript|^(?!java)/i.test(a)?"car":"carpet"

পরীক্ষার স্নিপেট

let f=

a=>/javascript|^(?!java)/i.test(a)?"carpet":"car"

var a=["java","javafx","javabeans","java-stream","java-script","java-8","java.util.scanner","java-avascript","javascript","javascript-events","facebook-javascript-sdk","javajavascript","jquery","python","rx-java","java-api-for-javascript","not-java"];

for(var s of a) console.log(s.padStart(a.reduce((x,y)=>x.length>y.length?x:y).length) + "=>" + f(s));


আমি আপনার রেজেক্স চুরি করতে যাচ্ছিলাম তবে এটি আমার উত্তরটি দীর্ঘায়িত করতে পারে:
ওহে

এখন আমাদের কেবল জবা উত্তর দরকার।
ডিজেএমসিএমহেম

আমাদের কাছে জাভা জবাব আছে, কিন্তু ... আমি প্রায় একই রেগেজেসে এসেছি ...
অলিভিয়ার গ্রাগোয়ার

বিকল্পভাবে:/^java(?!script)/i
আন্দ্রে

1
@ অলিভিয়ের গ্রাগোওরে আহ, অভিশাপ, এটিকে অন্যায় বলে মনে হচ্ছে
আন্দ্রেয়া

15

জাভা (ওপেনজেডিকে 8) , 92 82 72 58 57 বাইট

s->s.matches("(?i)(?!.*javascript)java.*")?"car":"carpet"

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

1 নেটকে ধন্যবাদ 1 বাইট সংরক্ষিত !


1
স্ট্রিং # টির সাথে পুরো স্ট্রিংয়ের সাথে মেলে চেষ্টা করার কারণে আপনি ক্যারেটটি বাদ দিতে পারেন।
নেভায়ে

11

সি (কেবল কলিং পুটস), 131 বাইট

f(int*s){char r[]="carpet";~*s&'AVAJ'||(r[3]=0);for(;*s&255;*(int*)&s+=1)~*s&'AVAJ'||~s[1]&'IRCS'||~s[2]&'TP'||(r[3]='p');puts(r);}

এটির সমস্যা আছে তবে এটি প্রদত্ত সমস্ত টেস্টকেস পাস করে :)

g(int* s)
{
  char r[] = "carpet";
  ~*s&'AVAJ' || (r[3]=0);
  for(;*s & 255; *(int*)&s +=1)
    ~*s&'AVAJ' || ~s[1]&'IRCS' || ~s[2]&'TP' || (r[3]='p');
  puts(r);
}

আপনার উত্তরটি জাভা, জাভাস্ক্রিপ্ট, বা রেজেক্স ব্যবহার করে যদি কপিরাইট বোনাস পয়েন্ট

ভাল ... না ধন্যবাদ



8

পাইথন 2 , 68 বাইট

k=input().lower();print'car'+'pet'*(k[:4]!='java'or'javascript'in k)

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

-11 বাইট নটজাগানকে
ধন্যবাদ -2 বাইটস ডেনিসকে ধন্যবাদ




@ জাস্টিন এটিও খুশী হলাম।
হাইপারনিউটারিনো

যদি আপনি পাইথন 2 এ স্যুইচ করেন তবে আপনি একটি সম্পূর্ণ প্রোগ্রামের সাহায্যে 2 বাইট সংরক্ষণ করতে পারেন।
ডেনিস

1
@ লুকসাকজাক ওহ আমি বুঝতে পারি নি: পিআই ঠিক এর আগে জাভা ব্যবহার করছিল এবং জাভাতে ;আমার প্রয়োজন তাই যেহেতু আমাকে যেভাবেই এটি ব্যবহার করতে হবে অপ্রয়োজনীয়: পি এই কারণেই আমি এটি ব্যবহার করেছি।
হাইপারনিউটারিনো

4

সি #, 80 78 বাইট

s=>(s=s.ToLower()).StartsWith("java")&!s.Contains("javascript")?"car":"carpet"

1
আমি মনে করি সবচেয়ে পাঠযোগ্য এখানে ভাষা সি #
sepehr

2
@ সেফহর আপনার মানে আপনি সি # দিয়ে তীক্ষ্ণ দেখছেন। (আমি কি বোবা মন্তব্যের জন্য বোনাস পাই)
রায়

4

এক্সেল গুগল শিটস, 89 86 বাইট

টেলর স্কটকে ধন্যবাদ 3 বাইট সংরক্ষণ করা

=LEFT("carpet",6-3*ISERR(SEARCH("javascript",A1))+3*ISERR(IF(SEARCH("java",A1)=1,1,1/0

A1 এ একটি ইনপুট নেয়

ব্যাখ্যা

=LEFT("carpet",6-3*ISERR(SEARCH("javascript",A1))+3*ISERR(IF(SEARCH("java",A1)=1,1,1/0)))

 SEARCH("javascript",A1)        #Case-Insensitive Find, returns error if not found  
 ISERR(                         #Returns string true if error, False if not
 3*ISERR(                       #Forces TRUE/False as integer, multiplies by 3
 IF(SEARCH("java",A1)=1,1,1/0)  #If java found, returns integer. if 1, java begins string
                                #so returns 1, which will be turned into 0 by iserr.
                                #Else returns 1/0, which will be turned into 1 by iserr.
 LEFT(                          #Returns digits from the left, based upon count.

আমি বিশ্বাস করি যে আপনি Searchএস Find-2 বাইটের সাথে এসটি প্রতিস্থাপন করতে পারেন এবং এটি শেষ পর্যন্ত তিনটি পেরেন বন্ধ না করে -3 বাইটের জন্য গুগল শিট সূত্রে অনুবাদ করা যেতে পারে
টেলর স্কট

1
অনুসন্ধান কেস সংবেদনশীল, অনুসন্ধান কেস সংবেদনশীল। তবে শেষ 3 বাইটগুলি ভাল ধারণা!
চিহ্নিত করুন

এক্সেল থেকে গুগল শিটে অদলবদল কেন?
স্টিভোসিয়াক

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





3

সাধারণ লিস্প, 131 125 বাইট

(lambda(s)(format()"car~@[pet~]"(or(<(length s)4)(not(#1=string-equal"java"(subseq s 0 4)))(search"javascript"s :test'#1#))))

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

আকার হ্রাস ধন্যবাদ কমন লিস্পের # এন = "কৌশল" এর ।

ব্যাখ্যা

(lambda (s)                 ; anonymous function
  (format                   ; use of format string to produce the result
    ()                      ; the result is a string
    "car~@[pet~]"           ; print "car", then print "pet" when:
    (or (< (length s) 4)    ; the string is less then 4 characters or
        (not (string-equal "java" (subseq s 0 4)))     ; does not start with java or
        (search "javascript" s :test 'string-equal)))) ; contains javascript

2

সি (টিসিসি), 144 136 বাইট

a;f(s){char*t=s;for(;*t;a=!strncmp(s,"java",4))*t=tolower(*t++);for(t=s;*t;)s=strncmp(t++,"javascript",10)&&s;puts(a*s?"car":"carpet");}

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

Unrolled:

a;
f(s)
{
    char *t = s;
    for (; *t; a = !strncmp(s, "java", 4))
        *t = tolower(*t++);
    for (t=s; *t;)
        s = strncmp(t++, "javascript", 10) && s;
    puts(a*s ? "car"  :"carpet");
}

1

এক্সেল, 84 বাইট

="car"&IF(AND(ISERR(SEARCH("javascript",A1)),IFERROR(SEARCH("java",A1),2)=1),,"pet")

1

এক্সেল ভিবিএ, 76 বাইট

বেনামে VBE তাত্ক্ষণিক উইন্ডো ফাংশন যা পরিসীমা [A1]এবং আউটপুটগুলি থেকে ইনপুট নেয় VBE তাত্ক্ষণিক উইন্ডোতে car/ carpetস্থিতি

RegExp ব্যবহার করে না

?"car"IIf(InStr(1,[A1],"Java",1)*(InStr(1,[A1],"JavaScript",1)=0),"","pet")

1
ভিবিএর দুর্দান্ত ব্যবহার! আমি ভেবেছিলাম একটি ম্যাক্রো আরও খাটো হত। এখন আমার কাছে প্রমাণ আছে
চিহ্নিত করুন

1

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

g=lambda s:(lambda r:'car' if r[:4]=='java' and 'javascript' not in r else 'carpet')(s.lower())

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

হ্যাঁ, এটি আরও খাটো হতে পারে তবে আমি নেস্টেড ল্যাম্বডা ব্যবহার করার চেষ্টা করতে চেয়েছিলাম!


সর্বদা পরীক্ষা করতে ভাল :) মনে রাখবেন আপনি বাইট অপারেটার মতো রক্ষা করতে পারে and, or, if,else
লুক Sawczak

1

পার্ল , 42 বাইট

আমি বিশ্বাস করি স্টিভিবের উত্তরটির একটি ভুল আউটপুট রয়েছে (এটি নিজেই চেষ্টা করে দেখেছি - এটি 'জাভাজাভাস্ক্রিপ্ট'-এর জন্য গাড়ি ফেরায়)। এই কাজ করা উচিত:

say/^java/i&&!/javascript/i?'car':'carpet'

0

গণিত, 82 বাইট

Regex

If[#~StringMatchQ~RegularExpression@"(?i)(?!.*javascript)^java.*","Car","Carpet"]&

0

জাইআইএসবিএল , 36 বাইট

℠℘(?!.*javascript)^java.*}͵Ucar½Upet

শব্দবহুল / ব্যাখ্যা:

# \# enable verbose parsing #\
tolower                           \# [0] convert the top value of the stack to lowercase #\
split (?!.*javascript)^java.*}    \# [1] split the top value of the stack by (?!.*javascript)^java.*} #\
arraylength                       \# [2] push the length of the array onto the stack #\
print3 car                        \# [3] print car #\
!if                               \# [4] if the top value on the stack is falsy, skip the next statement #\
print3 pet                        \# [5] print pet #\

জএআইএসবিএল একটি গল্ফিং ভাষার নকশা তৈরির আমার প্রথম প্রয়াস ছিল, সুতরাং এটি বরং স্পর্শকাতর ... এর সাথে কোনও মিল নেই বা রয়েছে, রেজেক্স বা অন্যথায়, সুতরাং পরিবর্তে আমাদের বিভক্ত হয়ে ফলাফলের অ্যারের দৈর্ঘ্যটি পরীক্ষা করতে হবে ... কারণ জএআইএসএল'র বিভাজন রয়েছে -রেজেক্স ... তবে অন্য কোনও রেজেক্স সমর্থন করছে না .... কারণ রয়েছে।

Regex চুরি থেকে ধার @Cows হাতুড়ে এর উত্তর



0

পার্ল , 36 বাইট

say/^java(?!script)/i?"car":"carpet"

এটি যেমন চালান:

perl -nE 'say/^java(?!script)/i?"car":"carpet"' java.txt

0

ব্যাচ, 91 বাইট

@set/ps=
@set t=%s:~0,4%
@if "%t:java=%%s:javascript=%"=="%s%" (echo car)else echo carpet

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



0

পার্ল, 98 84 62 বাইট

sub a{"car".($_[0]=~/javascript/i||$_[0]!~/^java/i?'pet':'');}

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

বাইটপুশারকে ধন্যবাদ


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

@ ডিজেএমসিমেহেম আপনাকে ধন্যবাদ, আমি মনে করি পুরো যুক্তিটিকে আরও সংক্ষিপ্ত করে তোলার জন্য পরিবর্তন করা যেতে পারে, তবে আমি তা বুঝতে পারি নি
বার্গান

1
কিছু কিছু ইঙ্গিত (আপনার সমাধানটি খুব বেশি পরিবর্তন না করে): আপনি ন্যায়বিচারের return $b;সাথে প্রতিস্থাপন করতে পারেন $b;। পার্ল সর্বদা সর্বশেষ মূল্যায়িত বিবৃতি প্রদান করে। যেহেতু আমরা সতর্কতাগুলির বিষয়ে চিন্তা করি না, আপনি এমনকি ''; to $b}। যদি আপনার চারপাশে বন্ধনী প্রয়োজন হয় না। আপনি যদি এর ||পরিবর্তে ব্যবহার করেন তবে আপনি orরিজেক্সের পরে একটি সাদা স্থান সংরক্ষণ করতে পারেন।
বাইটপুশার

1
আপনি প্রথম এলসি এর আশেপাশে () সরিয়ে ফেলতে পারেন তবে তার পরে যদি একটি স্থান প্রয়োজন হয়। আপনি যদি ব্যবহার !~না করেন ! =~তবে দ্বিতীয় শর্ত হতে পারে lc$_[0]!~। `-> sub a{$b="car";$b.="pet"if lc$_[0]=~/javascript/||lc$_[0]!~/^java/;$b}। টার্নারি অপ্স ব্যবহার করে এটিকে আরও নীচে নামিয়ে আনেsub a{$b="car";$b.="pet"if lc$_[0]=~/javascript/||lc$_[0]!~/^java/;$b}
বাইটপুশার

1
ভুলে যাবেন না - যখন আপনার রেজেক্স কেস সুইচ উপেক্ষা করবেন তখন এলসি প্রয়োজন হবে না, অন্য 2 টি নীচে :) $_[0] =~//i||$_[0]!~//i। এবং অবশেষে, কেন একটি পরিবর্তনশীল? sub a{"car".($_[0]=~/javascript/i||$_[0]!~/^java/i?'pet':'');}জরিমানা করা উচিত :)। এবং এখন: পার্লটি দুর্দান্ত হবে এবং আপনি !~sub a{"car".(/javascript/i||!/^java/i?'pet':'')}
spec

0

ডার্ট ভিএম, 104 বাইট 102 বাইট

main(p){p=p[0].toLowerCase();print("car${p.indexOf('java')==0&&p.indexOf('javascript')<0?'':'pet'}");}

ব্যাখ্যা :

Degolfed:

main(p)
{
    p = p[0].toLowerCase();
    print("car${p.indexOf('java') == 0 && p.indexOf('javascript') < 0 ? '' : 'pet'}");
}

আমরা আমাদের স্বাভাবিক ফাংশন আছে

আমরা প্রতিস্থাপন pসঙ্গে p[0].toLowerCase();যাতে আমরা একটি নতুন ভেরিয়েবল ডিক্লেয়ার করা আছে না ( varপ্লাস একটি স্থান 4 অতিরিক্ত বাইট হবে)

তারপরে আমরা প্রকৃত মুদ্রণটি করতে এগিয়ে চলি

আমরা carনিঃশর্তভাবে মুদ্রণ করি এবং petএটি পরে মুদ্রণ করা যায় কিনা তা যাচাই করার জন্য আমরা ইনলাইন বিবৃতি ব্যবহার করি। যদি সূচক 0 তে এর 'জাভা' স্ট্রিং থাকে এবং এতে 'জাভাস্ক্রিপ্ট' না থাকে, আমরা কিছুই করি না (আমরা আসলে একটি খালি স্ট্রিং সংযোজন করি তবে এর কোনও প্রভাব নেই) এবং অন্যথায় আমরা সংযোজন করি pet


0

মরিচা, 97 বাইট

let s=if Regex::new(r"^javascript|^!java$").unwrap().is_match("javascript"){"carpet"}else{"car"};

আমি খুব নিশ্চিত যে এর একটি সংক্ষিপ্ত সমাধান আছে তবে এটি আমার প্রথম চেষ্টা :)


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