मेरी गोल्फ, हर कोई!


35

यह क्रिसमस सब लोग हैं, और यहां एक कोड-गोल्फ चुनौती है। आपको एक वर्तमान प्रिंट करने के लिए एक कार्यक्रम बनाने की आवश्यकता है। विशेष रूप से, शब्द "मेरी क्रिसमस"। लेकिन, एक पकड़ है: यह कार्यक्रम केवल तभी काम करना चाहिए जब यह 25 दिसंबर हो। यदि किसी अन्य दिन कोड चलाया जाता है, तो प्रोग्राम क्रैश हो जाना चाहिए।

यह कोड-गोल्फ है, इसलिए कम से कम बाइट्स जीत के साथ जवाब।

क्रिसमस की बधाई!


5
हाँ, वह ermmmmm था। .. हाँ 25 वाँ खेद
सिंह


3
गोल्फ कोडमास ! :)
लुइस मेंडो

1
नहीं, यह एक दुर्घटना होनी चाहिए। आप प्रलोभन नहीं छोड़ सकते हैं
सिंह

2
@PhiNotPi वे चुनौतियां अलग हैं। यह एक उलटी गिनती के लिए पूछ नहीं है और उत्पादन देने के लिए इंतजार कर शामिल नहीं करता है
सिंह

जवाबों:


8

पाइके, 21 बाइट्स

.dↄґ6C65h*325q/Al

यहाँ यह कोशिश करो!

     C65h*        -   multiply the day by the (current month + 1)
          325q    -  ^ == 325
    6         /   - 6 / ^
.dↄґ              -  load "merry christmas"
               Al - ^.capwords()

या 18 बाइट्स नॉन-कंपेटिटिव।

.dↄґ6Cs6Y1q/Al

इस अनुभाग को छोड़कर बिल्कुल वैसा ही:

Cs6Y1q 
C      -    get_time()
 s6    -   add 1 week
   Y   -  get day of the year
    1q - ^ == 1

यहाँ यह कोशिश करो!


यह विफल रहता है यदि यह 30 अक्टूबर है, तो क्या यह नहीं है?
मैजिक ऑक्टोपस Urn

1
@ क्रूसोकोम्पुटिंग 30 * (10+1)= 330 नहीं 325
ब्लू

6

जावास्क्रिप्ट, 55 53 46 बाइट्स

नोट: यह केवल Google Chrome में परीक्षण किया गया है, प्रोग्राम ब्राउज़र से ब्राउज़र (या डिवाइस से डिवाइस) के लिए अलग तरह से व्यवहार कर सकता है

2 बाइट्स @ ConorO'Brien की बदौलत बच गए

7 बाइट्स ने @ETHProductions के लिए धन्यवाद बचाया

alert(/c 25/.test(Date())?"Merry Christmas":a)

Uncaught ReferenceError: a is not definedयदि तारीख नहीं है, तो बाहर निकलता है Dec 25। मुझे यकीन नहीं है कि अगर यह दुर्घटनाग्रस्त हो जाता है

alert(/c 25/.test(Date())?"Merry Christmas":a)


कैसे के बारे में .slice(6,10)=="c 25"?
कॉनर ओ'ब्रायन

@ ConorO'Brien धन्यवाद! यह स्मार्ट है :)
क्रिक्टी लिथोस

@ETHproductions मैं किसी भी दिन या महीने के बारे में नहीं सोच सकता जो समाप्त होता है c( Octकरीब आता है, लेकिन फिर भी रेगेक्स को संतुष्ट नहीं करता है)। पारितोषिक के लिए धन्यवाद!
क्रिति लिथोस

का परिणाम Date()पूरी तरह से कार्यान्वयन पर निर्भर है। उदाहरण के लिए, मैं यह अपेक्षा करता हूं कि यह मशीन की भाषा और स्थान के साथ भिन्न हो।
उड़ोल

@ ओरियोल फिर मैं अपने उत्तर में ब्राउज़र को निर्दिष्ट करूंगा
क्रिति लिथोस

5

पायथन 3, 66 63 बाइट्स

जावास्क्रिप्ट / ईएस के विचारों के लिए धन्यवाद यहां मैं कुछ बाइट्स निचोड़ने में कामयाब रहा। इंडेक्स ए डिक्शनरी - गैर-मौजूद कुंजी एक उठाएगीKeyError । निम्नलिखित कोड स्थानीय समय क्षेत्र में काम करता है

import time;print({1:'Merry Christmas'}['c 25'in time.ctime()])

आउटपुट स्वरूप ctimeस्थानीय-निर्भर नहीं है - प्रारूप हमेशा ~ है 'Sun Dec 25 19:23:05 2016'। चूंकि केवल दिसंबर में 3-अक्षर का संक्षिप्त नाम समाप्त होता हैc , इसलिए 'c 25'in time.ctime()यहां उपयोग करना सुरक्षित है।


पुराना वर्जन:

यह UTC टाइम ज़ोन में काम करता है। स्थानीय समय क्षेत्र के लिए एक s/gm/localऔर 3 बाइट्स की आवश्यकता होती है। पायथन 2 के लिए, कोई print65 बाइट्स के लिए कोष्ठक हटा सकता है ।

import time;print({(12,25):'Merry Christmas'}[time.gmtime()[1:3]])

निर्माण KeyErrorअन्य तिथियों पर फेंकता है:

>>> import time;print({(1,1):'Happy New Year'}[time.gmtime()[1:3]])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: (12, 25)

क्या यह अन्य दिनों में दुर्घटनाग्रस्त हो जाता है (यह माना जाता है)?
Erresen

2
मैं इसे चलाने के लिए एक कुंजी के रूप में टपल के लिए वस्तुओं के रूप में नहीं मिल सकता है इसे ऑनलाइन कोशिश करो! । यदि आप इसे बदल देते हैं import time;print{'2512':'Merry Christmas'}[time.strftime("%d%m")]और इसे पायथन 2 लेबल करते हैं, तो यह अभी भी 66 बाइट्स है और 25 दिसंबर के अलावा अन्य तारीखों पर
कीएर्र के

@ElPedro उफ़: डी होना चाहिए था 1:3, मैंने अपने टेस्ट कोड को दुर्घटना से कॉपी कर लिया
एंटि हापाला

उस पर उठाया गया जब मैंने gmtime()अपने उत्तर के लिए आपके विचार को उधार लिया था। आशा है कि आप बुरा नहीं
मानेंगे

5

PHP, 39 38 बाइट्स, प्रतिस्पर्धा नहीं (दुर्घटना नहीं)

<?=date(md)-1225?"":"Merry Christmas";

या

<?date(md)-1225?die:0?>Merry Christmas

या

<?=["Merry Christmas"][date(md)-1225];

किसी गोल्फ 4 बाइट्स बंद कर सकते हैं date(Lz)%1001-358? : D
टाइटस

3
क्या यह दुर्घटना है?
edc65

आप ""पहले कोड को छोड़ सकते हैं जो आपको 2 बाइट बचाता है। यदि यह लानत छलांग साल के लिए नहीं था, आप की जगह 2 बाइट अधिक बचा सकता mdद्वारा zऔर 1225दिसंबर 25 की साल के दिन की संख्या से।
UTF-8

1
एक विकल्प: eval((date(md)^TQZZ).'"Merry Christmas";');(43 बाइट्स)
इस्माइल मिगुएल

1
@ UTF-8: आपका अधिकार है। मैं ज्यादातर बूलियन मूल्यों के लिए एल्विस का उपयोग करता हूं; और वह प्रिंट होगा 1। यह गणना के परिणाम को प्रिंट करेगा। और 0104-12251121 है।
टाइटस

4

अजगर 2 , 68 67 65 बाइट्स

-1 @ @ मुडफिश के साथ धन्यवाद

इस विचार के लिए @AnttiHaapala का धन्यवाद जिसने एक और जोड़े को बचाया।

import time;print['Merry Christmas'][(12,25)!=time.gmtime()[1:3]]

इसे ऑनलाइन आज़माएं!

25 दिसंबर को नहीं तो एक IndexError फेंकता है।

59 बाइट्स के लिए गैर-प्रतिस्पर्धात्मक संस्करण, क्योंकि यह केवल गैर लीप वर्ष के लिए काम करता है (वर्ष का दिन जो इस वर्ष 360 है, लेकिन लीप वर्ष में 361 है)

import time;print['Merry Christmas'][360!=time.gmtime()[7]]

क्या आप टपल के बजाय एक सूची का उपयोग करके एक बाइट को नहीं बचा सकते हैं?
ब्लू

@ मड्डीफिश धन्यवाद, अच्छी पकड़।
एलपीड्रो 13

एक अच्छा, मेरा विचार 2 अतिरिक्त बाइट्स था : पी
फ्लिपकार्ट

धन्यवाद। यह भी मेरा 67 बाइट संस्करण था जब तक कि मैंने @AnttiHaapala से जवाब पर टिप्पणी नहीं की और gmtime()एक जोड़े को बंद करने के बारे में सोचा । मुझे स्वीकार करना होगा, काश मेरे पास और भी कुछ होता जो मैं इस साल के विचार के साथ कर सकता था।
एलपीड्रो

आप 1 बाइट के साथ बचा सकते हैं: time.ctime () [6:10]! = 'C 25'
अधिकतम

4

आर, 52 61 58 बाइट्स

`if`(format(Sys.Date(),"%m%d")=="1225","Merry Christmas",)

यदि वर्तमान तारीख 25 दिसंबर नहीं है, तो एक त्रुटि वापस आ जाती है क्योंकि कोई तीसरा तर्क नहीं दिया जाता है if

संपादित करें: एक मूर्खतापूर्ण त्रुटि फिक्स्ड


मेरे छोटे टाइपो के बारे में क्षमा करें। मेरा मतलब 25tg
Leo

यह केवल इस वर्ष हालांकि काम करता है!
Erresen

@ इरसेन आह ठीक है, मूर्ख गलती। हालांकि अब तय हो गया है।
बिलीवोब

4

मेरा यहाँ पहली बार ... इस नौकरी के लिए सबसे अच्छी भाषा के साथ शुरुआत:

जावा, 200 188 बाइट्स (@ डैनियल ग्रे के लिए धन्यवाद), 186 बाइट्स प्रिंट से "एलएन" हटाते हैं।

import java.util.*;public class a{public static void main(String[]r){Calendar c=Calendar.getInstance();if(!(c.get(2)==11&&c.get(5)==25)){int i=1/0;}System.out.print("Merry Christmas");}}

यहाँ यह कोशिश करो!


1
PPCG में आपका स्वागत है! अच्छा पहला पद, भले ही जावा काफी कम नहीं है।
R

1
आप के Calendarलिए बदल सकते हैं *और कुछ बाइट्स बचा सकते हैं । आप argsमुख्य विधि में पैरामीटर का नाम भी छोटा कर सकते हैं , मुझे लगता है ...
डैनियल ग्रे

@ डैनियल ग्रे, आप बिल्कुल सही हैं, धन्यवाद!
बोनीफैसियो

1
स्वागत हे! यदि आप "इंटरफ़ेस" के साथ "सार्वजनिक वर्ग" को हटाते हैं और सार्वजनिक संशोधक को मुख्य से हटाते हैं, तो इसे 10 बाइट्स बचा सकते हैं, जिससे यह "इंटरफ़ेस ए {स्टेटिक शून्य मेन ..." हो जाएगा, लेकिन यह कंपाइलजवा को इसे चलाने में सक्षम होने से रोकेगा। ऑनलाइन।
जावदा

3

MATL , 34 33 बाइट्स

'Merry Christmas'IHh&Z'5U12h=?}Yl

यह भाषा के वर्तमान संस्करण (19.7.0) में काम करता है । त्रुटि का कारण बनने के लिए, निम्न कोड इस तथ्य का फायदा उठाता है कि स्ट्रिंग का लघुगणक एक त्रुटि देता है (यह भविष्य के संस्करणों में बदल सकता है)।

इसे ऑनलाइन आज़माएं!

व्याख्या

'Merry Christmas'  % Push this string
IHh                % Push 3, then 2, concatenate: gives array [3 2]
&Z'                % Get 3rd and 2nd outputs of clock vector: current day and month
5U12h              % Push 5, square, push 12, concatenate: gives [25 12]
=                  % Compare if corresponding entries are equal in the two arrays
?                  % If all entries are equal: do nothing
}                  % Else
  Yl               %   Logarithm. Gives an error when applied on a string
                   % End (implicit). Display (implicit)

3

QBIC , 48 बाइट्स

~left$$|(_D,5)=@12-25||?@Merry Christmas|\?a(12)

स्पष्टीकरण:

~             IF
left$$|(_D,5) the date string starts with
=@12-25|      the string "12-25"
|             THEN
?@Me..as|     PRINT "Merry Christmas"
\             ELSE
?a(12)        Print the twelfth index of an undefined array. 
              Since there are only 11 elements in undefined arrays, this 
              results in an index-out-of-bounds error.    
The the IF statement is auto-closed by QBIC.

यह अमेरिकन MM-DDडेट नोटेशन को मानता है। यह छोटा होगा अगर मैं अंत में QBIC में एक फंक्शनिंग फंक्शन बनाऊंगा।


उन दिनों में क्या होता है जो क्रिसमस नहीं हैं? क्या यह दुर्घटना है जैसा कि यह माना जाता है?
Erresen

@ अब यह करता है।
स्टैनबर्ग

3

05AB1E ,32 21 बाइट्स

अदनान की स्ट्रिंग संपीड़न :) के लिए धन्यवाद 11 बाइट्स बचाए।

1žfže‚12D·>‚Q÷”ÞٌΔ×

व्याख्या

 žfže‚                Push [current month, current day]
      12D·>‚          Push [12, 25]
            Q         Push tmp = 1 if the two arrays are equal, tmp = 0 otherwise
1            ÷        Evaluate x = 1/tmp. If tmp = 0 a division by 0 exception is thrown
              ”ÞÙŒÎ”× Implicitly display "Merry Christmas" x times

इसे ऑनलाइन आज़माएं!

मैंने वही किया जो पहले दिमाग में आया था, इसलिए इस के लिए बेहतर तरीके हो सकते हैं। लेकिन PPCG 05AB1E में भी मेरी क्रिसमस के योग्य है;)।


इसके अलावा, xडुप्लिकेट और डबल :) के लिए छोटा है।
अदनान

3

सी # / सीएस स्क्रिप्ट 106 100 99 बाइट्स

99 बाइट का घोल

using System;int i;Console.WriteLine(DateTime.Now.ToString("dM")=="2512"?"Merry Christmas":i/0+"");

यहाँ यह कोशिश करो!

100 बाइट समाधान (इस एक को पसंद करें ... थोड़ा अलग)

using System;int i;Console.WriteLine(DateTime.Now.AddDays(7).DayOfYear==1?"Merry Christmas":i/0+"");

व्याख्या की:

using System;
int i;

// if today plus 7 days is the first day of the year, then it's xmas!
Console.WriteLine(DateTime.Now.AddDays(7).DayOfYear==1
    ? "Merry Christmas"

// otherwise divide i by 0
    : i/0+"");

DateTime.Now.AddDays(7).DayOfYear==1एक बाइट से छोटा है DateTime.Now.ToString("ddMM")=="2512"लेकिन 1 बाइट से अधिक लंबा हैDateTime.Now.ToString("dM")=="2512"


1
आप उपयोग कर सकते हैं $"{DateTime.Now:dM}"=="2512"dMअस्पष्ट है, लेकिन "2512" के लिए नहीं।
कोबी

@ कोबी मैं सीएस स्क्रिप्ट के लिए स्ट्रिंग प्रक्षेप का उपयोग नहीं कर सकता :(
इरसेन

1
यदि आप LinqPad (जैसे $"{DateTime.Now:dM}"=="2512"?"Merry Christmas":1/1-1+""55 बाइट्स =) का उपयोग कर सकते हैं
केनेथ के।

क्यों int iऔर कैसे अन्याय 1/0?
NoOneIsHere

1
@ इरसेन आह, मेरी गलती है। मैंने पूरी तरह से परीक्षण नहीं किया। Tweaked: $"{DateTime.Now:dM}"=="2512"?"Merry Christmas":"".Remove(1)(59 बाइट्स)
केनेथ के।

2

सी # / सीएस स्क्रिप्ट, 96 बाइट्स, ज्यादातर एरेसेन से साहित्यिक चोरी

using System;Console.WriteLine(DateTime.Now.AddDays(7).DayOfYear==1?"Merry Christmas":1/0+"");

हटाता है int iविभाजन को हार्ड कोडिंग के पक्ष में घोषणा को । मैं इसे एक टिप्पणी के रूप में छोड़ दूंगा लेकिन प्रतिष्ठा नहीं है।


PPCG में आपका स्वागत है! अच्छी पहली पोस्ट! टिप्पणी / उत्तर के बारे में चिंता न करें, यह बहुत ज्यादा मायने नहीं रखता है।
R

2

बैश + यूनिक्स उपयोगिताओं, 51 49 47 बाइट्स

((`date +%m%d`-1225))&&${};echo Merry Christmas

* @ केनवाई-एन के लिए धन्यवाद कि ईको में उद्धरण हटाए जा सकते हैं, और @ आकार को कम करने के लिए 2 बाइट्स।


जो मुझे bash: ${}: bad substitutionत्रुटि देता है । इसके अलावा आप दो बाइट्स को बचाने के लिए मेरी क्रिसमस के उद्धरण छोड़ सकते हैं । इसके अलावा, [ `date +%m%d` = 1225 ]&&echo Merry Christmasमेरे लिए काम करता है, मेरे 45 बाइट्स के बराबर है ।
केन YN

1
@ KenY-N त्रुटि जानबूझकर है: प्रोग्राम को क्रिसमस के अलावा अन्य दिनों में क्रैश करना है। यह उल्लेख करने के लिए धन्यवाद कि प्रतिध्वनि में उद्धरण को गिराया जा सकता है; मैंने यह खो दिया।
मिशेल स्पेक्टर

Oops, missed that requirement! Tested out by changing the date string, and I see now that it doesn't crash. Deleted my answer... But, I have an alternative, so let me update it.
Ken Y-N

Try replacing ${} with !- to beat me by one byte. I'll upvote you as you win.
Ken Y-N

1
@KenY-N Thanks, but I'm not going to change ${} to !- since I think the latter will only work correctly on the command line, not in a script (unless you turn history substitution on, which would take additional characters).
Mitchell Spector

1

Groovy, 57 bytes

print new Date().format("Md")=="1225"?"Merry Christmas":b

Crashes on dates other than 25.12. with groovy.lang.MissingPropertyException because b is not defined.


1

Stacked, 42 bytes

Try it here!

('Merry Christmas')'MMDD'date'1225'=¬#out

This creates a single-element array containing namely 'Merry Christmas!'. After, it puts the date into a string with the month followed by the day. It checks for equality with '1225' (Christmas), inverts it with ¬, then gets that member from the preceding array. If it isn't Christmas, this will error with an index error. Otherwise, it prints Merry Christmas. (Change the date in the string to see how it works on other days.)


1

Batch, 66 bytes

@echo off
if %date:~0,5%==25/12 echo Merry Christmas&exit/b
if

The trailing newline is significant, as it causes parsing of the if statement to fail. You may need to tweak the date check to match your local date format.


1

Python 2, 69 77 75 or 72 70 Bytes

import time
if time.strftime("%d%m")=="2512":print"Merry Christmas"
else:1/0

If it doesn't matter if it exits with an error when it is Christmas, then:

import time
if time.strftime("%d%m")=="2512":print"Merry Christmas"
1/0

EDIT:

Thanks @Flp.Tkc for pointing out that I needed to raise an error

-2 Bytes from @Max for pointing out about removing colons from the strftime function


1
It's meant to crash if it's not Christmas, this just exits normally.
FlipTack

You can save 2 bytes removing the colons --> '%d%m' == '2512'
Max

@Max OK, thanks for the tip. I hadn't used this function before, so I hadn't thought of doing that
sonrad10

save another 3 bytes with: time.ctime()[6:10]=='c 25'
Max

1

CJam, 28

et[C25]#1="Merry Christmas"/

Try it online

Explanation:

et                   push an array of current [year month day hour ...]
[C25]                push the array [12 25] (C=12)
#                    find the position of the 2nd array within the first one
1=                   compare it with 1, resulting in 1 for 1 and 0 otherwise
"Merry Christmas"/   split "Merry Christmas" into pieces of that length
                      (it crashes if the length is 0)
                     at the end, all the pieces are concatenated
                      and printed automatically

0

C#.NET, 180 172 171 bytes

Saved 8 bytes thanks to Kritixi Lithos

Saved 1 byte thanks to Kritixi Lithos, again ;)

namespace System{class P{static void Main(string[] args){var d=DateTime.Today;if(d.Day==25)if(d.Month>11){Console.Write("Merry Christmas!");return;}throw new Exception();}}}

Alternative, ungolfed variant:

namespace System //In System, so we don't have to use system.
{
    class Program
    {
        static void Main(string[] args) //Main function.
        {
            var d = DateTime.Today; //Get Today.
            if (d.Day == 25) if (d.Month == 12) //Day has to be 25th, Month has to be 12nd.
                {
                    Console.Write("Merry Christmas!"); return; //Prints.
                }
            throw new NotChristmasException(); //Errors/Crashes the program.
        }
    }
    class NotChristmasException : Exception { } //Holiday exception, hooray!
}

Can't you give the program a shorter class name?
Kritixi Lithos

You could remove some bytes by changing the "NotChristmasException" to something shorter.
Leo

@FishProHD The NotChristmasException is only in the ungolfed variant.
devRicher

@KritixiLithos Thanks, changed that.
devRicher

1
if(d.Day==25&&d.Month>11)Console.Write(...);else throw new Exception() note combined if statements and removal of braces around the Console.Write and replace return with else. Also change var d=DateTime.Now you can get rid of exception throw with perhaps args[-1]; after renaming args to a so a[-1]; (this so not identical to divide by zeros used elsewhere)
pinkfloydx33


0

Common Lisp, 140

(let((m(multiple-value-list(decode-universal-time(get-universal-time)))))(if(and(eq(nth 3 m)25)(eq(nth 4 m)12))(write"Merry Christmas")(c)))

Crashes with undefined function if the date isn't right.


0

awk, 29 bytes (+ length("Merry xmas"))

v=1225==strftime("%m%d")||1/0

Running it:

$ echo Merry xmas | awk 'v=1225==strftime("%m%d")||1/0'
awk: cmd. line:1: (FILENAME=- FNR=1) fatal: division by zero attempted

Season greeting is piped to awk. strftime returns month+day (for example 1226) and if it matches 1225 $0 record gets outputed. Result of comparison 1225==1226 is placed to v var which is used to divide 1 if the date comparison fails.


0

Haskell, 116

Crashes with "Non-exhaustive patterns in function f" if it's not Christmas.

import Data.Time
f(_,12,25)="Merry Christmas"
main=getZonedTime>>=print.f.toGregorian.localDay.zonedTimeToLocalTime

Unfortunately, there's no function that allows you to just immediately get the time in a useful format, so most of this is converting the date formats.


0

C#, 122 104 bytes

18 bytes saved, thanks to @raznagul

using System;i=>{if(DateTime.Now.AddDays(7).DayOfYear==1)Console.Write("Merry Christmas");else{i/=0;};};

It adds 7 days to the current day, and checks if it is the first day of the year, if yes, it displays "Merry Christmas", otherwise it divides by zero.


The return is not necessary. Use i instead of ().
raznagul

0

Ruby, 69 bytes

if Time.now.strftime("%j")=="360";puts "Merry Christmas";else 0/0;end

Works in 2016. Doesn't differentiate between normal and leap years, may need to be adjusted for non-leap years.


0

ForceLang, 180 bytes

set s datetime.toDateString datetime.now()
set t "Dec 25"
def c s.charAt i
def d t.charAt i
set i -1
label 1
set i 1+i
if i=6
 io.write "Merry Christmas!"
 exit()
if c=d
goto 1
z.z

(Remember that datetime.toDateString is locale-dependent, so this may not work depending on your locale)


0

C#, 90 bytes

using System;Console.Write(new[]{"Merry Christmas"}[DateTime.Now.AddDays(7).DayOfYear-1]);

Throws IndexOutOfRangeException if it's not christmas.

Try it here!


0

bash command line, 45 48 49 48 bytes

date +%m%d|grep -q 1225&&echo Merry Christmas||!-
date +%m%d|grep -q 1225||!-;echo Merry Christmas

Similar to Mitchell Spector's, but use grep in silent mode to check for a match, then && will ensure that it only prints on success, and the || causes it to look up history with !-, which gives me this:

-bash: !-: event not found

And it stops execution as !- ; echo foo demonstrates. The bash documentation says that !-n refers to the current command minus n, so perhaps it is being interpreted as !-0, which gives an identical (and non-localised) error message.


Good idea, but this doesn't crash on days other than Christmas, like it's supposed to, does it?
Mitchell Spector

It now gives an error on failure.
Ken Y-N

1
This prints an error message but it continues; it doesn't actually crash. If you replace the . with ${} then it will actually crash rather simply printing an error message and going on. I think crashing requires that the program be terminated at that point. You can tell that yours doesn't terminate by putting an extra ";echo x" at the end and seeing that it gets executed. (That's why I used ${} instead of . in my answer.) I don't know if there's some 1- or 2-character sequence you can use that will cause an actual crash.
Mitchell Spector

@MitchellSpector: I found a 2 character sequence!
Ken Y-N

And now back to 48 by switching the logic so I can use ; instead of ||.
Ken Y-N
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.