আমাদের একবার প্রশ্ন হয়েছিল যা কেবলমাত্র রবিবারে ব্যর্থ হয়েছিল


39

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

নিয়মাবলী:

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

উত্তরগুলি পরীক্ষা করার জন্য আমাকে রবিবার পর্যন্ত অপেক্ষা করতে হবে;)


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

5
শনিবারটি যদি ব্যবহার করা হত তবে এটি আরও ভাল হত। আপনি এটিকে "স্যাটারডে নাইট ত্রুটি" হিসাবে অভিহিত করতে পারেন এবং এমনকি প্রশ্নের কয়েকটি সমন্বিত গানের গানেও কাজ করতে পারেন।
হারুন


1
আপনার প্রশ্ন থেকে এটি পরিষ্কার নয় যে কোন ত্রুটিটি গঠন করে। আমি এর প্রতিকার না হওয়া পর্যন্ত বন্ধ করার পক্ষে ভোট দিচ্ছি।
গম উইজার্ড 16

3
আসলেই নয় ... আমরা কীভাবে নিয়মিত আউটপুট থেকে ত্রুটির ফলাফলকে আলাদা করতে পারি। print "error"ত্রুটির মতো কিছু কি ? যুক্ত অনুচ্ছেদে আসলে কিছুই স্পষ্ট হয় না।
গম উইজার্ড

উত্তর:



18

পিএইচপি 7, 12 বাইট

1%date("w");

পিএইচপি 7 DivisionByZeroএ রবিবার টাইপের ব্যতিক্রম ছুঁড়ে । যদি এইচএইচভিএম ব্যবহার করে তা ব্যাখ্যা করা হয় তবে একই ঘটনা ঘটে ।

পিএইচপি 5 stderrএ রবিবার একটি সতর্কতা প্রদর্শন করে (অন ):

PHP Warning:  Division by zero in Command line code on line 1

কোনও পিএইচপি সংস্করণে, এটি সপ্তাহের অন্যান্য দিনগুলিতে কিছুই প্রদর্শন করে না।

সিএলআই ব্যবহার করে চালান:

php -r '1%date("w");'

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

আরও দুইজন বাইট উদ্ধৃতি (stripping দ্বারা চিপা করা যেতে পারে 1%date(w);) কিন্তু এই ট্রিগার একটি নোটিশ (যে দ্বারা দমন করা যাবে সঠিকভাবে সেট error_reporting = E_ALL & ~E_NOTICEমধ্যে php.ini)।


আমি বিশ্বাস করি যে আপনাকে অবশ্যই (শিরোনামে) নির্দিষ্ট করতে হবে যে এই উত্তরটি কেবলমাত্র এবং শুধুমাত্র পিএইচপি 7 + এবং এইচএইচভিএমের জন্য, যেহেতু পিএইচপি 5.6 এবং কোনও সমস্যা ছাড়াই নিম্ন প্রস্থান রয়েছে। সতর্কতাগুলি ত্রুটি নয় এবং কোডটির সম্পাদন বন্ধ করবেন না। আপনি যদি 1%date("w");echo "Alive!"এটি করেন তবে এটি পিএইচপি 7 + এবং এইচএইচভিএম এ থামবে, তবে পিএইচপি 4 এর পরে অন্য সমস্ত সংস্করণে নয়
ইসমাইল মিগুয়েল

@ ইসমাইলমিগুয়েল প্রশ্নটি কোনও প্রিন্টিংকে ত্রুটি হিসাবে স্ট্যান্ডার্ড ত্রুটিতে শ্রেণিবদ্ধ করে, তাই এই ক্ষেত্রে একটি সতর্কতা যথেষ্ট good
দয়া করে

1
প্রশ্নের উদ্ধৃতি দিয়ে: "একটি ত্রুটি এমন একটি বিষয় যা প্রোগ্রামটি অস্বাভাবিকভাবে শেষ করে দেয় যেমন শূন্য ত্রুটি দ্বারা বিভাজন বা অবিচ্ছিন্ন ভেরিয়েবল ব্যবহার করে T এর অর্থ এই যে কোনও অংশ যদি ত্রুটিযুক্ত করার পরে যুক্ত করা হত তবে তা হবে না রবিবার মৃত্যুদণ্ড কার্যকর করা। এটি একটি সতর্কতার সাথে ঘটে না।
ইসমাইল মিগুয়েল

@ ইসমাইলমিগুয়েল আপনি যে অনুচ্ছেদে উদ্ধৃতি দিচ্ছেন তা প্রশ্নটিতে একটি ঘন্টা আগেও যুক্ত করা হয়েছিল।
axiac

1
একটি পুরানো সংস্করণ উদ্ধৃত করে, মন্তব্যটির সময় যেটি আমি লিখেছিলাম: "[...] এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা রবিবার হওয়ার সময় ত্রুটি ছুঁড়ে ছাড়া কিছুই করে না, এবং অন্য কোনও দিনে নিখুঁতভাবে প্রস্থান করে । "। এই সতর্কতাটি এই লাইনের বিপরীতে কারণ পিএইচপি করুণভাবে প্রস্থান করবে। একটি ত্রুটি মারাত্মক ত্রুটি বা একটি সিনট্যাক্স ত্রুটি হবে। 0 দ্বারা বিভাজনের জন্য কোনও সতর্কতা নয় পিএইচপি 5.6 বা তার চেয়ে বেশি পুরানো এই চ্যালেঞ্জের জন্য বৈধ নয়।
ইসমাইল মিগুয়েল

9

পিএইচপি, 15 বাইট

<?@date(w)?:\n;

অনুমান ডিফল্ট সেটিংস

রবিবার আউটপুট

Fatal error: Undefined constant 'n' on line 1

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


2
লক্ষ্য করুন যে এই উত্তরটির জন্য পিএইচপি 5.3+ প্রয়োজন। ||\nপরিবর্তে একটি বিকল্প হতে পারে ?:\n
ইসমাইল মিগুয়েল

8

জাভা 8, 69 43 34 বাইট

v->1/new java.util.Date().getDay()

-26 বাইটস @ অলিভিগ্রগ্রোয়ারকে ধন্যবাদ জানায়
-9 ধন্যবাদ বাইট @Neil

ব্যাখ্যা:

এখানে চেষ্টা করুন।

  • v->{...}( অব্যবহৃত Void nullপ্যারামিটার ) একটি বাইটের চেয়ে কম ()->{...}(কোনও প্যারামিটার নয়)।
  • new java.util.Date().getDay()রবিবার-শনিবারের জন্য 0-6 ফিরে আসবে, সুতরাং মান 0 হলে 1/...একটি java.lang.ArithmeticException: / by zeroত্রুটি দেয় যা কেবল রবিবারে ঘটে happens


@ অলিভিয়েরগ্রোওয়ের আহ, java.util.Date()সপ্তাহের দিন পাওয়ার জন্য একটি পদ্ধতি আছে .. এবং রবিবারের জন্য এটি 0 0ও আছে .. আমি কীভাবে এটি মিস করেছি তা নিশ্চিত নয়। : এস
কেভিন ক্রুইজসেন

হ্যাঁ, সাধারণত পুরানো ক্লাসগুলির সংক্ষিপ্ত নামে সমস্ত কার্যকারিতা থাকে। ;-)
অলিভিয়ার গ্রাগোয়ার

1
এটি কি 34 বাইটের জন্য বৈধ? এটি অনলাইন চেষ্টা করুন!
নিল

@ নিল আপনি পোস্ট করার সময় এটি বৈধ ছিল না তবে এক ঘন্টারও কম সময় পরে বৈধ হয়ে উঠল। ;-) যদিও এটি আমার প্রথম ধারণা ছিল ...
অলিভিয়ের গ্রাগোয়ার

7

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

import time
"Su"in time.ctime()>q

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

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

from datetime import*
datetime.now().weekday()>5>q

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

রডকে ধন্যবাদ 3 ডলার বাঁচিয়েছে


1
@ রড কেন নয় "Su"in time.ctime()>q(আমি এটি দিয়ে সম্পাদনা করছিলাম)?
মিঃ এক্সকোডার

আমি এটা বেশ ধরতে পারি না। এটা কিভাবে কাজ করে?
পাচোলিক

@ পাচোলিক "Su"in time.ctime()বর্তমান দিনটি রবিবার কিনা তা পরীক্ষা করে দেখুন। যদি এটি মিথ্যা হয় তবে >qঅংশটি মোটেই মূল্যায়ন করা হয় না এবং সবকিছুই সহজেই বের হয় ex তবে যদি এটি সত্য হয়, তবে অসমতার দ্বিতীয় অংশটি মূল্যায়ন করা হয়, এবং যেহেতু qসংজ্ঞায়িত হয় না, এটি একটি নিক্ষেপ করবে NameError
মিঃ এক্সকডার 13

1
@ পাচোলিক সম্পাদনা: আমি ভুল মনে করি না am দক্ষতার উদ্দেশ্যে, যদি প্রথম অংশটি মিথ্যা হয়, তবে পাইথন শেষ অংশটি মূল্যায়ন করতেও বিরক্ত করে না। যদিও এটি পরীক্ষা করার জন্য আমাকে রবিবার পর্যন্ত অপেক্ষা করতে হবে। ( আমি মনে করি ) বিক্ষোভ
মিঃ এক্সকডার 13

3
@ পাচোলিক নোট করুন যে পাইথন বুলিয়ান অপারেটরদের শৃঙ্খলাবদ্ধ, তাই এটি সমান ("Su" in time.ctime()) and (time.ctime() > q)
ব্যবহারকারী 202729 13

6

পাইথ , 8 7 বাইট

 l-6.d9

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

ব্যাখ্যা

    .d9 # Get the current day of week (0 = Monday, 6 = Sunday)
  -6    # Subtract 6 from the day
 l      # Try to calculate the log base 2 of the result of the previous operation raising a "ValueError: math domain error" on sundays
        # there is an extra space at the start, to supress the output on the other days

এটি এখনও অবৈধ। আপনার আউটপুট ( ত্রুটি দ্বারা1.0 উত্পন্ন হয় না )। ওপি স্পষ্টতই বলেছিল যে তারা সেটি অনুমতি দেয় না। আপনার কোডে একটি একক স্থান
প্রিপেন্ড করে

তবে এটি রবিবার না হলে আপনি STDOUT এ আউটপুট দেওয়ার অনুমতি পাবেন না এবং আপনি STDOUT এ আউটপুট করবেন না।
মিঃ এক্সকোডার

@ মিঃ এক্সকোডার সঠিক। অ রবিবারে কোনও কিছুই আউটপুট করা উচিত নয়
জো কিং

@ জোকিং আমি এই নিয়মটি পুরোপুরি এড়িয়ে গেছি, এখনই ঠিক করা হয়েছে
রড

6

হাস্কেল + তথ্য.সামগ্রী , 55 বাইট

import Data.Dates
succ.dateWeekDay<$>getCurrentDateTime

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

এটি এই সত্যটি ব্যবহার করে যে রবিবারটি সপ্তাহের শেষ দিন। dateWeekDayসপ্তাহের দিনটি একটি WeekDayপ্রকার হিসাবে প্রত্যাবর্তন করে , যা কেবল হিসাবে সংজ্ঞায়িত হয়

data WeekDay = Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday

WeekDayউদাহরণস্বরূপ Enum, এইভাবে আমরা ব্যবহার করতে পারি succএবং predসপ্তাহের দিনের উত্তরসূরি বা পূর্বসূরি পেতে, যেমন succ Mondayফলন Tuesday

যাইহোক, Sundayসর্বশেষ এনাম এন্ট্রি, সুতরাং succ Sundayনিম্নলিখিত ত্রুটির ফলে ফলাফল কল :

fail_on_sunday.hs: succ{WeekDay}: tried to take `succ' of last tag in enumeration
CallStack (from HasCallStack):
  error, called at .\Data\Dates.hs:56:34 in dates-0.2.2.1-6YwCvjmBci55IfacFLnAPe:Data.Dates

সম্পাদনা 1: নিমিকে ধন্যবাদ -3 বাইটের জন্য!
সম্পাদনা 2: -11 বাইট এখন যে ফাংশন অনুমোদিত।


সম্পূর্ণ প্রোগ্রাম: 88 81 74 69 66 বাইট

import Data.Dates
main=pure$!succ.dateWeekDay<$>getCurrentDateTime

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

pureফলাফলটি WeekDayআইও মোনাডে ফিরিয়ে আনতে হবে। তবে, হাস্কেল দেখেছে যে প্রোগ্রামটি কোনওভাবেই মানটি আউটপুট দেয় না, এতটাই অলস যেমনটি হয়, এক্সপ্রেশনটি মূল্যায়ন হয় না, তাই রবিবারেও প্রোগ্রামটি ব্যর্থ হয় না। এজন্য $!প্রয়োজন হয়, যা হাস্কেল সাধারণত অভিব্যক্তিটির মূল্যায়ন না করে এমনকি মূল্যায়নকে বাধ্য করে।


পূর্ববর্তী পদ্ধতির সাথে Data.Time: 127 124 বাইট

import Data.Time.Clock
import Data.Time.Calendar.WeekDate
c(_,_,d)|d<7=d
main=getCurrentTime>>=(pure$!).c.toWeekDate.utctDay

এটি অনলাইন চেষ্টা করুন! এগুলি কিছু চিত্তাকর্ষক আমদানি। শুক্রবারে পরীক্ষার ব্যর্থতার d<7জন্য উদাহরণে পরিবর্তন d/=5করুন। নিম্নলিখিত বাদে ব্যর্থ হলে: Non-exhaustive patterns in function c


1
main=pure$!succ.dateWeekDay<$>getCurrentDateTime। এবং, যেমন ফাংশনগুলি অনুমোদিত, আপনি এটি ড্রপ করতে পারেন main=
নিমি

@ নিমি ধন্যবাদ! No using input or showing output through the usual IO methodsনিয়মের কারণে যদিও আমি এই ফাংশনটি সম্পর্কে নিশ্চিত নই । যতদূর আমি দেখতে পাচ্ছি, কোনও ফাংশন ব্যবহারের ফলে অ রবিবারের জন্য একটি আউটপুট আসবে, যদিও এটি আইও-অ্যাকশনে আবৃত থাকে।
লাইকনি

হতে পারে আপনি ঠিক বলেছেন, তবে অন্যদিকে পুরো প্রোগ্রামটিতে একটি প্রস্থান কোড রয়েছে, এটি একটি মানক পদ্ধতিও।
নিমি

... চ্যালেঞ্জের নিয়মগুলি এখন ফাংশনগুলিকে যতক্ষণ না তারা মুদ্রণ না করে ততক্ষণ অ রবিবারগুলিতে মানগুলি ফেরত দেয় allow
নিমি

@ নিমি এই বিজ্ঞপ্তির জন্য ধন্যবাদ।
লাইকনি

5

05 এ বি 1 ই , 45 44 বাইট

যেহেতু সপ্তাহের দিন পাওয়ার জন্য 05 এবি 1 ই এর কোনও অন্তর্নির্মিত কাজ নেই, আমি এটি গণনা করার জন্য জেলারের বিধি ব্যবহার করেছি।

রবিবারের ক্ষেত্রে স্টাডারকে একটি নতুন লাইন প্রিন্ট করে (টিআইও-তে ডিবাগ দৃশ্যে পর্যবেক্ষণযোগ্য)

žežf11+14%Ì13*5÷žgžf3‹-т%D4÷žgт÷©4÷®·(O7%i.ǝ

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

ব্যাখ্যা

সাধারণ ব্যবহৃত সূত্র
DoW = d + [(13*(m+1))/5] + y + [y/4] + [c/4] - 2*c
কোথায় DoW=day of week, d=day, m=month, y=last 2 digits of year, c=centuryএবং বন্ধনীর মধ্যে অভিব্যক্তি ( []) বৃত্তাকার ডাউন।

সূত্রে ব্যবহৃত প্রতিটি মাসই একটি সংখ্যার সাথে মিলে যায়, যেখানে Jan=13,Feb=14,Mar=3,...,Dec=12
আমাদের চলতি মাসটি আরও সাধারণ ফর্ম্যাটে Jan=1,...,Dec=12 থাকায় আমরা সূত্রটি ব্যবহার করে মাসে রূপান্তর করি
m = (m0 + 11) % 14 + 1

প্রথম মাস হিসাবে জানুয়ারীর দ্বি-উত্পাদক হিসাবে, জানুয়ারী এবং ফেব্রুয়ারিটি আগের বছরের সাথে সম্পর্কিত, তাই নির্ধারণের জন্য গণনাটি yহয়ে যায়
y = (year - (m0 < 3)) % 100

DoWআমরা পেতে চূড়ান্ত মান একটি int যেখানে 0=Sat,1=Sun,...,6=Fri
ফলাফলটি সত্য হলে আমরা স্পষ্টতই একটি ত্রুটি ফেলে দিতে পারি।


11
05AB1E জাভার কাছে হেরছেন? আমি যা জানি তা সবই মিথ্যা
কামিল দ্রাকারী

5

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

Date().slice(1)>'um'&&k

পুরো প্রোগ্রাম।

পরিবর্তনশীল kসংজ্ঞায়িত করা উচিত নয়।

জাভাস্ক্রিপ্ট, রিক হিচককের 20 বাইট

/Su/.test(Date())&&k

জাভাস্ক্রিপ্ট, অ্যাপ্লিলারদের দ্বারা 19 বাইট

Date().match`Su`&&k

1) আপনি অন্তর্ভুক্ত করতে ভুলে গেছেন _=>; এটি ছাড়া এটি একটি স্নিপেট যা ডিফল্টরূপে অনুমোদিত নয়। 2) এটি falseঅন্য কোনও দিন আউটপুট দেয় যখন কোনও কিছুই আউটপুট করা উচিত নয়।
শেগি

6
1) এটি একটি সম্পূর্ণ প্রোগ্রাম, যা ওপি দ্বারা অনুমোদিত। 2) আপনি যদি এটি প্রোগ্রাম হিসাবে চালনা করেন তবে কোনও ফলাফল নেই
l4m2

3
/Su/.test(Date())&&k20 বাইট জন্য।
রিক হিচকক

1
new Dateসংস্করণ 25 বাইট(new Date/864e5%7|0)-3||p
l4m2

3
@ রিক হিচককের সমাধানটি matchপরিবর্তে টেমপ্লেট-ট্যাগ প্রয়োগের মাধ্যমে আরও সংক্ষিপ্ত করা যায়:Date().match`Su`&&k
অ্যাপসিলাররা

5

ভিবিএ / ভিবিএস স্ক্রিপ্ট, 22 20 বাইট

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

a=1/(Weekday(Now)-1)

এটি তাত্ক্ষণিক উইন্ডোতে চালানো উচিত। Weekday()7 (শনিবার) এর মাধ্যমে 1 (রবিবার) ফেরত দেয় তাই এটি রবিবার শূন্য ত্রুটির দ্বারা একটি বিভাজন তৈরি করে। অন্যথায়, আউটপুট নেই।

ভুল বার্তা


আপনি আমাকে একটি ঘন্টা একটি উত্তরে মারলেন - 19 বাইট:?1/(Weekday(Now)-1)
টেলর স্কট

1
@ টেলরস্কট আমি ভুলে গিয়েছিলাম এটি ভিবিএ Nowব্যতীত বৈধ ()তবে আমি মুদ্রণটি ব্যবহার করতে পারি না কারণ আমি মনে করি যে সমস্ত আউটপুট যদি ত্রুটিযুক্ত না হয় তবে তা অনুমোদিত নয়। No using input or showing output through the usual IO methods, except to print to STDERR। তবুও, 2 বাইট সংরক্ষণ করা হয়েছে।
ইঞ্জিনিয়ার টোস্ট

1
আমি এই সঠিক 20 বাইটগুলি একটি ভিবিএস স্ক্রিপ্ট সমাধান হিসাবে লিখেছি এবং তারপরে আমি ভেবেছিলাম যে এটি ইতিমধ্যে জমা দেওয়া কোন ভিবি-স্টাইলের ভাষা আছে কিনা এবং এটি এখানে রয়েছে see সুতরাং, এটি ভিবিএস স্ক্রিপ্ট এবং সম্ভবত অন্যান্য ভিবি-স্টাইল ভাষার জন্যও কাজ করে।

@ ইঞ্জিনিয়ারস্টোস্ট আমি মনে করি আপনার এটি ভিবিএস স্ক্রিপ্টের সাথে বহুবিশেষ হিসাবে চিহ্নিত করা উচিত
টেলর স্কট

@ টেলরস্কট আমি এর আগে করিনি। আমি কি এটা ঠিক করেছি?
ইঞ্জিনিয়ার টোস্ট

4

রুবি, 15 বাইট

1/Time.now.wday

wdayরবিবার 0 জিরো ডিভিশনইরির সৃষ্টি করে: 0 টি ত্রুটি দ্বারা বিভক্ত উদাহরণস্বরূপ: 1/Time.new(2018,1,7).wday


4

পার্ল 5 , 13 বাইট

1/(gmtime)[6]

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

@ সাইকেলের উত্তরসূরি পোর্ট করা হয়েছে

@ মিকের অনুস্মারক সহ 3 বাইট সরানো হয়েছে


1
gmtimeপরিবর্তে localtimeএছাড়াও নিয়মগুলি পূরণ করবে, এবং 3 বাইট সংক্ষিপ্ত
মিক

3

jq, 42 অক্ষর

(39 অক্ষর কোড + 3 অক্ষর কমান্ড লাইন বিকল্প)

now|strftime("%w")|strptime("%d")|empty

এখানে অন্যরকম পদ্ধতির চেষ্টা করছি: সপ্তাহের দিন সংখ্যা (0..6) মাসের দিন সংখ্যা (1..31) হিসাবে পার্স করুন।

নমুনা রান:

bash-4.4$ TZ=UTC faketime 2018-01-06 jq -n 'now|strftime("%w")|strptime("%d")|empty'

bash-4.4$ TZ=UTC faketime 2018-01-07 jq -n 'now|strftime("%w")|strptime("%d")|empty'
jq: error (at <unknown>): date "0" does not match format "%d"

নোট করুন যে জিকিউ কেবলমাত্র ইউটিসি তারিখগুলি পরিচালনা করে।

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



3

ভিবিএ 18 বাইট

এটি ইনবিল্ট ফাংশনটির উপর নির্ভর করে এমন date()একটি দিনের নম্বর ফিরিয়ে দেয় যা 1 দ্বারা ers ভাগ করে ভাগ করা হয়, সুতরাং ওএস এবং / অথবা সিপিইউ নির্দিষ্ট হতে পারে।

a=1/(date mod 7-1)

এটি ভিবিএ প্রকল্পের তাত্ক্ষণিক উইন্ডোতে চলে।


2
পিপিসিজিতে আপনাকে স্বাগতম! সাধারণভাবে, একটি ব্যাখ্যা এবং একটি অনলাইন সংকলক / দোভাষীর একটি লিঙ্ক প্রশংসা করা হয়।
ফ্যানটাসি

@tfbninja - ঠিক আছে আপডেট
জনআরসি

এবং, যদি প্রয়োজন হয় তবে কীভাবে ব্যবহার করবেন সে সম্পর্কে নির্দেশাবলী, যেমন ফাংশন কল বা ভেরিয়েবল
ফ্যান্টাসি 7'18

ভাল গল্ফিং, অন্য উত্তরটি দেখার পরে আমি নিজেই এই পোস্ট করতে চলেছিলাম!
লোভো

3

আর , 31 বাইট 30 বাইট

if(format(Sys.Date(),'%u')>6)a

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

রবিবার অ-রবিবার কোনও আউটপুট নেই Error: object 'a' not found

format(Sys.Date(),'%u')আমি সপ্তাহের দিনটি খুঁজে পাওয়ার সবচেয়ে সংক্ষিপ্ততম উপায় ছিল, এটি রবিবারের জন্য 7 সহ সপ্তাহের দিনের জন্য একটি অক্ষর-শ্রেণীর সংখ্যা বের করে। আমরা একটি সংখ্যার 7 এর সাথে তুলনা করতে পারি এবং যদি কোনও অপরিজ্ঞাত বস্তু ব্যবহারের সত্য প্রচেষ্টা হয়।

জিউসেপিকে একটি বাইট সংরক্ষণ করে!


>6একটি বাইট সংক্ষিপ্ত।
জিউসেপ

2

ওকামল, 46 বাইট

open Unix
let()=1/(gmtime(time())).tm_wday;()

এবং অ্যাকামল আরএপিএল-তে, আমরা letফাইনালটি এবং ফাইনালটি সরিয়ে আরও ভাল অর্জন করতে পারি :():

$ open Unix;;1/(gmtime(time())).tm_wday;;<CR>

যা ৪১ বাইট (গাড়ীর ফেরার জন্য 1 বাইট সহ)


1
পিপিসিজিতে আপনাকে স্বাগতম!
লাইকনি

1
অনলাইনে চেষ্টা করে কি এই কোডটি তৈরি করা সম্ভব ?
লাইকোনি

এমএমএইচ ... কমপাইল কমান্ডটি ocamlopt unix.cmxa <ফাইল>, টিওতে কীভাবে কম্পাইল অপশন দিতে হয় তা আমি জানি না। আমি এই সন্ধ্যায় তদন্ত করব
ব্রোমাইন্ড

টিওটি একটি (সিমিলি) রিপিএল ইন্টারপ্রেটার ব্যবহার করে, সুতরাং আপনার দ্বিতীয় সম্ভাবনা ব্যবহার করা উচিত। তবে, এটি ইউনিক্স লাইব্রেরি (বা কোনও কারণে এটির অ্যাক্সেসের অনুমতি দিন না) বলে মনে হচ্ছে না
ব্রোমাইন্ড


2

টিআই-বেসিক 84+, 23 বাইট

getDate
0/(1-dayOfWk(Ans(1),Ans(2),Ans(3

তারিখ এবং সময় আদেশের প্রয়োজন, যা কেবলমাত্র 84++ এবং তার চেয়ে বেশি।


2

এমএটিএল , 12 বাইট

vZ'8XOs309>)

রবিবার উত্পাদিত ত্রুটিটি হ'ল:

  • অষ্টাভে চলছে:

    MATL run-time error: The following Octave error refers to statement number 9:  )
    ---
    array(1): out of bound 0
    
  • মতলব চালানো:

    MATL run-time error: The following MATLAB error refers to statement number 9:  )
    ---
    Index exceeds matrix dimensions
    

আচরণ উল্টাতে (রবিবার ব্যতীত যে কোনও দিন ত্রুটি), ~পরে যুক্ত করুন >

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

ব্যাখ্যা

এটি এই সত্যটি কাজে লাগায়

  • লজিকাল ইনডেক্সের সাথে একটি খালি অ্যারেতে ইনডেক্সিং falseবৈধ (এবং ফলাফলটি একটি খালি অ্যারে, যা কোনও আউটপুট দেয় না); যেহেতু

  • এর সাথে trueসূচীকরণে একটি ত্রুটি ঘটে কারণ অ্যারেতে প্রথম প্রবেশের অভাব রয়েছে।

মন্তব্য করা কোড:

v       % Concatenate stack. Gives empty array
Z'      % Push current date and time as a number
8XO     % Convert to date string with format 8: gives 'Mon', 'Tue' etc
s       % Sum of ASCII codes. Gives 310 for 'Sun', and less for others
309>    % Greater than 309? Gives true for 'Sun', false for others
)       % Index into the empty array
        % Implicit display. Empty arrays are not displayed (not even newline)

2

প্রশ্ন, 20 বাইট

if[1=.z.d mod 7;'e]

.zd বর্তমান তারিখটি প্রদান করে। মোড বর্তমান তারিখের মডুলো করে, যা কোনও পূর্বাবস্থায় ফিরে আসে। তারিখটি যদি রবিবার হয়, .zd মড 7 ফিরে আসে। যদি 1 = 1, (রবিবার) এবং ত্রুটিটি 'অপারেটর' ব্যবহার করে উত্থাপিত হয় ব্রিভির জন্য ত্রুটিটি কেবলমাত্র ই চরিত্র।


3
পিপিসিজিতে আপনাকে স্বাগতম!
মার্টিন এন্ডার

2

সি # (.নেট কোর) , 55 54 48 বাইট

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

শেগিকে ধন্যবাদ 1 বাইট সংরক্ষণ করা হয়েছে

Emigna ধন্যবাদ 5 বাইট সংরক্ষণ করা

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

_=>{var k=1/(int)System.DateTime.Now.DayOfWeek;}

ভাগ্যবান যে রবিবার এনামে 0 সূচকযুক্ত হয় অন্যথায় এটির দরকার হত (System.DayOfWeek)7



3
আপনি কি using Systemসি # তে নিখরচায় পাবেন ? যদি আমি মনে করি আপনি 42 এর()=>{var k=1/(int)DateTime.Now.DayOfWeek;} জন্য করতে পারতেন । অন্যথায় 49 সুস্পষ্ট সহSystem.
Emigna

3
@ এমিগনা আমাকে এতে মারধর করেছেন; ()=>{var k=1/(int)System.DateTime.Now.DayOfWeek;}খাটো হয়। এবং আপনি কোনও প্যারামিটারেরv->{...} পরিবর্তে (যেমন পরিবর্তে ()->{...}) খালি অব্যবহৃত প্যারামিটার ব্যবহার করে আরও একটি বাইট সংরক্ষণ করতে পারেন
কেভিন ক্রুইজসেন

1
40 বাইট: ()=>1/(int)System.DateTime.Now.DayOfWeekএখানে চেষ্টা করুন
আইয়ব

2

পিপিসিজিতে আপনাকে স্বাগতম!
মার্টিন এন্ডার

ধন্যবাদ! এছাড়াও, সম্পাদনার জন্য ধন্যবাদ! কোন অনলাইন খেলার মাঠটি বেছে নেব তা নিশ্চিত ছিলাম না। এখন আমি জানি. :)
র্যান্ডমঅফআম্ব্বর

2

সি,  68  55 বাইট

13 বাইট সংরক্ষণের জন্য @ কেন ওয়াইএনকে ধন্যবাদ!

#import<time.h>
f(n){time(&n);n/=gmtime(&n)->tm_wday;;}

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


54 বাইট dপাওয়ার n/=gmtime(&n)->tm_wday;জন্য ইন্টারমিডিয়েটটি ফেলে দিন (তবে আমি নিশ্চিত না যে আমি এই সমস্ত সংকলক সতর্কতাগুলি পছন্দ করি ...)
কেন YN

@ কেনওয়াই-এন ধন্যবাদ!
স্টিডিবক্স

1

আর , 40 বাইট

stopifnot(weekdays(Sys.Date(),T)!="Sun")

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

weekdaysএকটি একক বাইট সংরক্ষণ করে abbreviateসংক্ষিপ্ত Sundayহওয়া optionচ্ছিক যুক্তি দিয়ে তারিখের সপ্তাহের দিনটি ফেরৎ দেয় Sun

stopifnotএকটি ত্রুটি ছোঁড়া যদি, প্রতিটি যুক্তি জন্য, না allহয় TRUE, এবং একটি বার্তা প্রথম উপাদান যার নয় ইঙ্গিত একটি ত্রুটি ছোঁড়া TRUE, তাই ত্রুটিError: "Sun" is not TRUE




1

গেমা , 40 টি অক্ষর

\A=@subst{Su=\@err\{S\}\;*=;@datime}@end

একটি ত্রুটি বার্তা নির্দিষ্ট করতে হবে, সুতরাং একটি সংক্ষিপ্ত একটি চয়ন করুন: "এস"।

নমুনা রান:

bash-4.4$ faketime 2018-01-06 gema '\A=@subst{Su=\@err\{S\}\;*=;@datime}@end'

bash-4.4$ faketime 2018-01-07 gema '\A=@subst{Su=\@err\{S\}\;*=;@datime}@end'
S

1

ফানকি , 21 বাইট

if!os.date"%w"error()

os.date"%w"সপ্তাহের বর্তমান দিনটি 0-6 ফর্ম্যাটে প্রদান করে, যেখানে 0 রবিবার। এর যৌক্তিক না হওয়া কেবলমাত্র সত্য যখন সপ্তাহের দিন 0, তাই রবিবার। তারপরে কেবলমাত্র একটি মৌলিক if(a){error()}নিশ্চয়তা দেবে যে এই প্রোগ্রামটি রবিবারে কেবল ত্রুটি করে

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



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