วางแผนปฏิทิน ASCII


11

รับรายการกิจกรรมและเวลา / วันที่เริ่มต้นส่งออกปฏิทิน ASCII-art ที่แสดงกิจกรรมในวันที่เหมาะสม กิจกรรมทั้งหมดได้รับการรับประกันว่าจะอยู่ในเดือนเดียวกันไม่มีกิจกรรมสองกิจกรรมในวันเดียวกันและกิจกรรมทั้งหมดจะได้รับการบรรจุภายในกล่องปฏิทิน

ปฏิทินมีวันที่ที่มุมบนซ้ายของแต่ละกล่องกล่องมีช่องว่าง 9 ช่องกว้าง 5 ช่องสูงล้อมรอบด้วย-และ|และตัวย่อสองตัวอักษรสำหรับวันในสัปดาห์นั้นอยู่เหนือแถวแรกและสัปดาห์เริ่มต้นด้วยวันอาทิตย์

ตัวอย่างเช่นกำหนดกิจกรรมต่อไปนี้:

10/5/2018 - 9:00am - Sandbox calendar challenge
10/9/2018 - 9:00am - Post challenge to main
10/10/2018 - 10:00am - Profit
10/31/2018 - 7:30pm - Halloween party

เอาท์พุทปฏิทินที่สอดคล้องกันนี้:

    Su        Mo        Tu        We        Th        Fr        Sa     
-----------------------------------------------------------------------
|         |1        |2        |3        |4        |5        |6        |
|         |         |         |         |         |9:00am   |         |
|         |         |         |         |         |Sandbox  |         |
|         |         |         |         |         |calendar |         |
|         |         |         |         |         |challenge|         |
-----------------------------------------------------------------------
|7        |8        |9        |10       |11       |12       |13       |
|         |         |9:00am   |10:00am  |         |         |         |
|         |         |Post     |Profit   |         |         |         |
|         |         |challenge|         |         |         |         |
|         |         |to main  |         |         |         |         |
-----------------------------------------------------------------------
|14       |15       |16       |17       |18       |19       |20       |
|         |         |         |         |         |         |         |
|         |         |         |         |         |         |         |
|         |         |         |         |         |         |         |
|         |         |         |         |         |         |         |
-----------------------------------------------------------------------
|21       |22       |23       |24       |25       |26       |27       |
|         |         |         |         |         |         |         |
|         |         |         |         |         |         |         |
|         |         |         |         |         |         |         |
|         |         |         |         |         |         |         |
-----------------------------------------------------------------------
|28       |29       |30       |31       |         |         |         |
|         |         |         |7:30pm   |         |         |         |
|         |         |         |Halloween|         |         |         |
|         |         |         |party    |         |         |         |
|         |         |         |         |         |         |         |
-----------------------------------------------------------------------

ชี้แจง

  • คำกำหนดเวลา (การจับคู่ [A-Za-z] +) จะคั่นด้วยช่องว่างเดียวระหว่างพวกเขา (ดังในตัวอย่าง)
  • การแบ่งข้อความตามขอบเขตของคำนั้นเพียงพอแล้ว ไม่จำเป็นต้องใช้คำที่มีการใส่ยัติภังค์
  • หากเดือนกุมภาพันธ์เริ่มต้นในวันอาทิตย์ในแบบที่ไม่ก้าวกระโดดคุณจะมีแถวปฏิทินได้สี่แถวเท่านั้น
  • หากเดือน 31 วัน (เช่นสิงหาคม) เริ่มช้าในสัปดาห์คุณอาจต้องแสดงแถวปฏิทินหกแถว

I / O และกฎ

  • รหัสของคุณจะต้องจัดการกับวันที่อย่างน้อยระหว่าง0001-01-01และ9999-12-31ในปฏิทินเกรโกเรียนรวมถึงปีอธิกสุรทินตามความเหมาะสม ตัวอย่างเช่นหากได้รับการป้อนข้อมูล2016-02-13 9:00am Testปฏิทินผลลัพธ์ควรมีวันที่ 29 กุมภาพันธ์
  • รูปแบบวันที่อินพุตสามารถอยู่ในรูปแบบที่ต้องการ ISO 8601, datetimeวัตถุ, สตริงที่มีการจัดรูปแบบโดยเฉพาะ ฯลฯ การแยกวิเคราะห์อินพุตไม่ใช่ส่วนที่น่าสนใจของความท้าทายนี้
  • อินพุตและเอาต์พุตสามารถทำได้โดยวิธีใดก็ได้ที่สะดวกด้วยวิธีการที่สะดวกใด
  • ขึ้นบรรทัดใหม่ / ต่อท้ายหรือช่องว่างอื่น ๆ เป็นตัวเลือกโดยมีเงื่อนไขว่าตัวละครจะเข้าแถวอย่างเหมาะสม
  • ยอมรับได้ทั้งโปรแกรมหรือฟังก์ชั่น หากฟังก์ชั่นคุณสามารถส่งคืนผลลัพธ์มากกว่าการพิมพ์
  • เอาต์พุตสามารถไปที่คอนโซลส่งคืนเป็นรายการของสตริงส่งคืนเป็นสตริงเดี่ยว ฯลฯ
  • ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
  • นี่คือเพื่อให้ใช้กฎการตีกอล์ฟตามปกติและรหัสที่สั้นที่สุด (เป็นไบต์) ชนะ

1. ) คุณต้องแยกชื่อกิจกรรมในขอบเขตของคำหรือไม่? 2. ) เมื่อคุณมีเดือนกุมภาพันธ์ในวันอาทิตย์คุณจะไม่มีเครื่องชำระคุณมีเพียง 4 แถวหรือไม่? 3. ) เมื่อคุณต้องการ 6 แถวเพื่อแสดงเดือน (เช่นสิงหาคมเริ่มต้นในวันเสาร์) จะเกิดอะไรขึ้น
nedla2004


@ nedla2004 1) ใช่ขอบเขตของคำจะทำงานได้ดี 2) ถูกต้อง 4 แถว 3) ปฏิทินของคุณจะต้องแสดง 6 แถว ฉันจะแก้ไขในการชี้แจง
AdmBorkBork

@Annauld ใช่นั่นเป็นข้อสมมติฐานที่เป็นธรรม
AdmBorkBork

1
1752-09-02 - 09:00am - Wife's Birthday Tomorrow (14th!)
ngm

คำตอบ:


10

JavaScript (ES8), 380321 320 ไบต์

ใช้อินพุตเป็น(y,m,e)ตำแหน่ง:

  • y เป็นปี
  • m คือเดือนที่ 0 ดัชนี
  • eเป็นวัตถุที่มีกุญแจคือวันและค่าที่เป็นเหตุการณ์ใน[hour, task]รูปแบบ
(y,m,e)=>`SuMoTuWeThFrSa
`.split(/(..)/).join`    `+(p='-'.repeat(d=71)+`
`)+(g=i=>++d<1|(x=G`getMonth`==m)|i%7?`|${[h,t]=e[d]||E,o=[x*d,h],q=E,t&&t.split` `.map(s=>q=(u=q?q+' '+s:s)[9]?o.push(q)&&s:u),[...o,q][r%5]||E}`.padEnd(10)+(++i%7?E:`|
`+(++r%5?(d-=7,E):p))+g(i):E)(E=r='',d=-(G=s=>new Date(y,m,d)[s]())`getDay`)

ลองออนไลน์!

อย่างไร?

ด้านล่างมีบางส่วนที่สำคัญในรหัส

หัวข้อ

บรรทัดส่วนหัวถูกสร้างขึ้นด้วย:

'SuMoTuWeThFrSa\n'.split(/(..)/).join`    `

เมื่อsplit()ใช้กับนิพจน์ทั่วไปที่มีกลุ่มการดักจับกลุ่มนี้จะรวมอยู่ในอาร์เรย์เอาต์พุต ในกรณีนี้มันให้:

[ '', 'Su', '', 'Mo', '', 'Tu', '', 'We', '', 'Th', '', 'Fr', '', 'Sa', '\n' ]

เราเข้าร่วมอาร์เรย์นี้กับ 4 ช่องว่างนำไปสู่:

'    Su        Mo        Tu        We        Th        Fr        Sa    \n'

ซึ่งเป็นสิ่งที่เราต้องการ

โครงสร้างรายเดือน

GYม.d

G = s => new Date(y, m, d)[s]()

x

การจัดรูปแบบเหตุการณ์

รหัสต่อไปนี้ใช้ในการจัดรูปแบบเหตุการณ์

[h, t] = e[d] || E,           // split the content of the event into h and t
o = [x * d, h],               // set the first 2 entries of o[]: day and hour
q = E,                        // we start with q = empty string
t &&                          // skip this .map() loop entirely if t is not defined
t.split` `                    // split the string on spaces
.map(s =>                     // for each word s:
  q =                         //   update q:
    (u = q ? q + ' ' + s : s) //     u is the concatenation of the previous string with
                              //     the new word, separated by a space if needed
    [9] ?                     //     if u is more than 9 character long:
      o.push(q)               //       push the previous string in o[]
      && s                    //       and reset q to s
    :                         //     else:
      u                       //       update q to u
),                            // end of map()
[...o, q][r % 5]              // append the last pending part to o[] and extract the
|| E                          // relevant row; or use an empty string by default

3

Python 2 , 326 324 315 312 307 ไบต์

import calendar as c,textwrap as t
c.setfirstweekday(6)
y,m,e=input()
print' Su Mo Tu We Th Fr Sa\n'.replace(' ',' '*8)[4:]+'-'*71
for w in c.monthcalendar(y,m):
 for l in zip(*[[d or'',a]+(t.wrap(b,9)+['']*3)[:3]for d in w for a,b in[e.get(d,'  ')]]):print'|'+'|'.join('%-9s'%v for v in l)+'|'
 print'-'*71

ลองออนไลน์!

อินพุตเดียวกันกับคำตอบ JS ของ Arnauld :

ใช้อินพุตเป็น(y,m,e)ตำแหน่ง:

  • y เป็นปี
  • m คือเดือนที่จัดทำดัชนี 1 รายการ
  • eเป็นวัตถุที่มีกุญแจคือวันและค่าที่เป็นเหตุการณ์ใน(hour, task)รูปแบบ

3

ถ่าน , 215 206 ไบต์

Sθ≔I⪪§⪪θ ⁰/η≔⁻⁺×¹²⊟η⊟η²η≔EE²⁻ηι﹪Σ⟦÷ι⁴⁸⁰⁰±÷ι¹²⁰⁰÷ι⁴⁸÷ι¹²÷×¹³⁺⁴﹪ι¹²¦⁵⟧⁷η≔±⊟ηζ≔⁺²⁸﹪⁺⊟ηζ⁷ε⭆⪪SuMoTuWeThFrSa²◨◧ι⁶χ↓←⁷¹W‹ζε«↘F⁷«P↓⁵→≦⊕ζF⁼Iζ§⪪θ/⁰«≔⪪θ - θ≔⟦ω◨§θ¹¦⁹⟧δF⪪⊟θ ⊞δ⎇‹⁺L§δ±¹Lμ⁹⁺⁺⊟δ μμP⪫δ¶Sθ»◨×››ζ⁰›ζεIζ⁹»↓⁵←⁷¹

ลองออนไลน์! การเชื่อมโยงคือการใช้รหัสเวอร์ชันอย่างละเอียด ใช้วันที่ในรูปแบบ d / m / yyyy คำอธิบาย:

Sθ

ป้อนเหตุการณ์แรก

≔I⪪§⪪θ ⁰/η

สารสกัดจากวันที่และแยก/s

≔⁻⁺×¹²⊟η⊟η²η

แปลงเป็นเดือนตั้งแต่เดือนมีนาคม, 1 ปีก่อนคริสตกาล ฉันต้องการคำนวณวันในสัปดาห์ของเดือนแรกของเดือนถัดไปและเดือนปัจจุบันและการทำงานในเดือนนั้นง่ายกว่าการแยกเดือนและปีที่แยกจากกันและดำเนินการเมื่อสิ้นปีรวมทั้งยังช่วยให้ฉันเริ่มนับ เดือนเริ่มต้นในเดือนมีนาคมแทนที่จะเป็นเดือนมกราคมซึ่งสอดคล้องกับข้อกำหนดของ Zeller

≔EE²⁻ηι﹪Σ⟦÷ι⁴⁸⁰⁰±÷ι¹²⁰⁰÷ι⁴⁸÷ι¹²÷×¹³⁺⁴﹪ι¹²¦⁵⟧⁷η

ใช้ความสอดคล้องของเซลเลอร์ที่ได้รับการแก้ไขเพื่อแยกวันในสัปดาห์ของวันแรกของเดือนถัดไปและเดือนนี้ ส่วนพื้นฐานขึ้นอยู่กับความจริงที่ว่าจำนวนวันตั้งแต่วันที่ 30 ตุลาคมของปีก่อนถึงวันที่ 1 ของเดือนที่กำหนดซึ่งm = 4สำหรับเดือนมีนาคมและm = 14เดือนมกราคมของปีถัดไปจะได้รับจากสูตรm * 153 / 5แต่เราสามารถลบ 140 เพราะเราเท่านั้น ดูแลเกี่ยวกับวันของสัปดาห์ จากนั้นยังคงต้องทำการปรับปรุงเนื่องจากปี; ในแต่ละปีจะเพิ่มหนึ่งวันในแต่ละปีที่สี่จะเพิ่มเป็นวันที่พิเศษในแต่ละปีที่ 100 จะถูกลบออกต่อวันและในแต่ละปีที่ 400 จะเพิ่มวันอีกครั้ง (ในขณะที่ฉันกำลังทำงานในเดือนค่านิยมเหล่านี้ทั้งหมดถูกคูณด้วย 12) ค่อนข้างสะดวกสิ่งนี้ให้คำตอบโดยตรงในแง่ของสัปดาห์ที่จัดทำดัชนีในวันอาทิตย์ (โดยปกติคุณจะเพิ่มวันของเดือนและเริ่มนับในวันเสาร์)

≔±⊟ηζ

ปฏิเสธวันของสัปดาห์และบันทึกเป็นวันปัจจุบันของเดือน

≔⁺²⁸﹪⁺⊟ηζ⁷ε

คำนวณจำนวนวันในเดือนจากวันของสัปดาห์ของสองเดือน

⭆⪪SuMoTuWeThFrSa²◨◧ι⁶χ

แสดงผลส่วนหัวของวัน

↓←⁷¹

พิมพ์แถวบนสุดของ-s

W‹ζε«

วนซ้ำจนกว่าจะถึงวันสุดท้ายของเดือน

เลื่อนเคอร์เซอร์ไปที่จุดเริ่มต้นของแถวถัดไป

F⁷«

ดำเนินการครั้งละ 7 วัน

P↓⁵→

พิมพ์คอลัมน์|s ไปทางซ้าย

≦⊕ζ

เพิ่มวันที่ปัจจุบันของเดือน

F⁼Iζ§⪪θ/⁰«

หากวันปัจจุบันของเดือนเป็นวันที่มีเหตุการณ์ปัจจุบัน ...

≔⪪θ - θ

... แยกส่วนอื่น ๆ ของกิจกรรม ...

≔⟦ω◨§θ¹¦⁹⟧δ

... แผ่นเวลาถึง 9 ช่องว่างและบันทึกและสตริงว่างเป็นรายการ ...

F⪪⊟θ 

... แยกคำอธิบายเกี่ยวกับช่องว่างและวนรอบ ...

⊞δ⎇‹⁺L§δ±¹Lμ⁹⁺⁺⊟δ μμ

... เพิ่มแต่ละคำให้กับคำก่อนหน้าถ้าเหมาะสม ...

P⪫δ¶

... แสดงเวลาและคำอธิบาย ( Pδใช้งานไม่ได้อาจเป็นข้อบกพร่องของ Charcoal?), ...

Sθ»

... และใส่ข้อมูลเหตุการณ์ถัดไป

◨×››ζ⁰›ζεIζ⁹»

หากวันที่ปัจจุบันของเดือนอยู่ระหว่าง 1 ถึงวันสุดท้ายของเดือนให้ส่งออกมิฉะนั้นเพียงแค่ให้มีพื้นที่ว่างเพียงพอที่จะย้ายไปยังวันถัดไป

↓⁵←⁷¹

ในตอนท้ายของสัปดาห์พิมพ์คอลัมน์ด้านขวาของ|s และแถวล่างของ-s


บางทีฉันอาจข้ามไปในรหัส TIO verbose ของคุณ แต่คุณแน่ใจหรือไม่ว่าการดำเนินการสอดคล้องของ Zeller ของคุณเสร็จสมบูรณ์ มันน่าจะเป็นที่ถูกต้องสำหรับเดือนมีนาคมถึงเดือนธันวาคม แต่สำหรับเดือนเดือนมกราคมและกุมภาพันธ์year-1ควรจะนำมาใช้แทนyearและควรจะนำมาใช้แทนmonth+12 monthหรือว่าคุณลดความซับซ้อนของอัลกอริทึมที่ฉันกล่าวถึงในคำตอบ 05AB1E ของฉันซึ่งมีค่าเท่ากับวิกิพีเดียหนึ่งอัน?
Kevin Cruijssen

@KevinCruijssen นี่เป็นเหตุผลที่ฉันคำนวณจำนวนเดือนตั้งแต่เดือนมีนาคม, 1BC แต่มันซับซ้อนเกินไปที่จะอธิบายเพิ่มเติมในความคิดเห็น
Neil

1
@KevinCruijssen ฉันได้อัปเดตคำอธิบายแล้ว ฉันหวังว่าคุณจะพบว่ามีประโยชน์
Neil

ขอบคุณ! นั่นเป็นสูตรที่ดัดแปลงที่ดีและตอนนี้ฉันเข้าใจเหตุผลที่อยู่เบื้องหลัง ขอบคุณมากที่เพิ่มไปยังคำอธิบาย +1 จากฉัน
Kevin Cruijssen

2

Java (JDK) , 538 439 428 425 ไบต์

อาจเป็นวิธีการแก้ปัญหารหัสกอล์ฟที่ยาวที่สุดที่ฉันเคยโพสต์ ยังคงพยายามตีจากที่นี่ แต่เป็นการต่อสู้

จัดการให้ล้มลง 99 ไบต์โดยการเปลี่ยนรูปแบบการป้อนข้อมูลและใช้การแยกวิเคราะห์ regex บางส่วนและอีก 11 จากบิตเบ็ดเตล็ด

3 ไบต์พิเศษปิดขอบคุณ Kevin!

รับแรงบันดาลใจจากคำตอบอื่น ๆ <time>-<event>ก็จะเข้าเป็นปีเดือนและแผนที่ของวันที่จะเป็นตัวแทนของสตริงเวลาและเหตุการณ์ในรูปแบบที่

(y,m,M)->{var C=java.util.Calendar.getInstance();C.set(y,m-1,1);String r=",Su,,Mo,,Tu,,We,,Th,,Fr,,Sa\n".replace(",","    "),e;for(int x=C.getActualMaximum(5),l=0,b=0,j,c,i=0;i<7;r+="\n",l+=b<=x&++i>6?7*(i=1):0)for(j=0;j<71;b=l+j/10+2-C.get(7),e=(e=M.get(b))!=null?e.replaceAll("([^-]{1,9})(-| |$)","$1-")+" - ":null,r+=e=i%6<1?"-":c<1?"|":c*i<2&b>0&b<=x?b+"":c<2&e!=null?e.split("-")[i-2]:" ",j+=e.length())c=j%10;return r;}

ลองออนไลน์!


Ungolfed

(y,m,M)->{                                              // Lambda taking input as a year, month and map
  var C=java.util.Calendar.getInstance();               // Creates a new Calendar instance
  C.set(y,m-1,1);                                       // Sets the calendar to the first of the month in the given year    
  String r=",Su,,Mo,,Tu,,We,,Th,,Fr,,Sa\n"              // Creates the header row by replacing
    .replace(",","    "),e;                             // commas with 4 sets of spaces

  for(                                                  // Creates 7 rows for a calendar row
      int x=C.getActualMaximum(5)                       // Stores last day of the month
      ,l=0,b=0,j,c,i=0;i<7;                             // Initialises other integers
      r+="\n",                                          // Add new line each row
      l+=b<=x&++i>6                                     // If end of a calendar row is reached, and current day is less than max
        ?7*(i=1)                                        // Set i to 1 and add 7 to line count to create another calendar row
        :0)                                             // Otherwise do nothing

    for(j=0;j<71;                                       // Loop 71 times, appending characters to create a row
        b=l+j/10+2-C.get(7),                            // Determine the day of the box we're in
        e=(e=M.get(b))!=null?                           // Get the event for this day from the map and if not null
            e.replaceAll("([^-]{1,9})(-| |$)","$1-")      // Do some regex to separate the line entries by hyphens
            +" - "                                      // Append extra hyphen to prevent array out of bounds
            :null,                                      // Otherwise do nothing
        r+=e=i%6<1?"-":                                 // If it's the first line of a calendar row, append -
           c<1?"|":                                     // If it's the first column of a box, append |
           c*i<2&b>0&b<=x?b+"":                         // If it's the second column of a box, the second row, 
                                                        // and less than the max day, append the day
           c<2&e!=null?e.split("-")[i-2]:               // If it's any other row and there is an event then split and append correct line
           " ",                                         // Else just append a space
        j+=e.length())                                  // Increase the row character count by the length to append
          c=j%10;                                       // Set the column of box (this is the only thing in the loop so happens first)

  return r;                                             // return the calendar string!
}

&&(i=1)<2?7:0สามารถ?7*(i=1):0บันทึกได้ 3 ไบต์
Kevin Cruijssen

@KevinCruijssen ขอขอบคุณมาก!
ลุคสตีเวนส์

แนะนำb>x|i++<6?0:7*(i=1)แทนb<=x&++i>6?7*(i=1):0และc*i>1|b<1|b>x?c<2&e!=null?e.split("-")[i-2]:" ":b+""แทนที่c*i<2&b>0&b<=x?b+"":c<2&e!=null?e.split("-")[i-2]:" "
ceilingcat

1

สีแดง , 674 651 ไบต์

func[a][z: func[a b c][to-tuple reduce[a b c]]c: a/1 c/4: 1 d: c + 31
d/4: 1 d: d - 1 e: 1 + c/weekday % 7 if e = 0[e: 7]foreach
t[:Su:Mo:Tu:We:Th:Fr:Sa][prin pad pad/left t 6 10]h:
pad/with"-"71 #"-"print["^/"h]m: copy[]foreach[i b]a[put m z r:(t: e - 1)+
i/4 / 7 + 1 n: i/4 % 7 + t 2 b/1 t: split b/2" "l: 0
until[if t/2[if 10 >((length? t/1)+ length? t/2)[t/1:
rejoin reduce[t/1" "take next t]]]put m z r n 2 + l: l + 1 take t
tail? t]i: 0]n: k: 0 repeat v(g: e - 1 + d/4)/ 7 + sign? g % 7[repeat
r 5[repeat i 7[t: copy"|"if i = e[k: 1]if all[k = 1 r = 1 n < d/4][append t
n: n + 1]if s: select m z v i r[append t s]prin pad t 10]print"|"]print h]]

ลองออนไลน์!

อ่านเพิ่มเติมได้:

func [ a ] [
    c: d: a/1
    c/4: d/4: 1
    d: d + 31
    d/4: 1
    d: d - 1
    e: 1 + c/weekday % 7
    if e = 0[e: 7]
    g: e - 1 + d/4
    w: g / 7 + sign? g % 7
    foreach t [ :Su :Mo :Tu :We :Th :Fr :Sa ] [
        prin pad pad/left t 6 10
    ]
    h: pad/with "-" 71 #"-"
    print[ "^/" h ]
    m: copy #()
    foreach[ i b ] a [
        n: i/4 % 7 + t: e - 1
        r: t + i/4 / 7 + 1
        put m to-tuple reduce[ r n 2 ] b/1
        t: split b/2" "
        i: 0
        until [
            if t/2 [ if 9 >= ((length? t/1) + (length? t/2)) [
                t/1: rejoin reduce[t/1" "take next t]
                ]
            ]
            put m to-tuple reduce [ r n 2 + i: i + 1 ] take t
            tail? t
        ]

    ]
    n: 0
    g: off
    repeat v w [
        repeat r 5 [
           repeat i 7 [
                t: copy "|"
                if i = e[ g: on ]
                if all [ g r = 1 n < d/4 ] [ append t n: n + 1 ]
                if s: select m to-tuple reduce [ v i r ]
                    [ append t s ]
                prin pad t 10
            ]
            print "|"
        ]
        print h
    ]
]

if e = 0[e: 7]สามารถลบได้ใช่ไหม คุณสามารถใช้e: 1 + c/weekday % 7เพื่อให้มักจะอยู่ในช่วงe [1, 7]
Kevin Cruijssen

@KevinCruijssen: บางทีฉันอาจจะพลาดบางสิ่งบางอย่าง แต่ฉันคิดว่าฉันต้องการมัน การจัดทำดัชนีสีแดงเป็นพื้นฐาน 1 โปรดดูที่: >> c: ตอนนี้ / เวลา / วันที่ == 12-Oct-2018 >> c: c + 1 == 13-Oct-2018 >> 1 + c / วันทำงาน% 7 == 0; >> 1 + 2 * 3 คือ 9 ในสีแดงไม่ใช่ 7
Galen Ivanov

1
แก้ไข: Ah, nvm .. 1 + เกิดขึ้นก่อน .. ตกลงฉันเห็นข้อผิดพลาดของฉัน ฉันใช้%และมีความสำคัญผู้ประกอบการมากกว่า/ +
Kevin Cruijssen

1
@KevinCruijssen ใช่แน่นอน ไม่มีความสำคัญของโอเปอเรเตอร์ในสีแดงเราต้องใช้ () แทน
กาเลนอีวานอฟ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.