คำถามติดแท็ก error-message

สำหรับความท้าทายที่เกี่ยวข้องกับผลลัพธ์ข้อผิดพลาดเช่นคำเตือนหรือข้อผิดพลาดของคอมไพเลอร์ / ล่าม

30
ข้อความแสดงข้อผิดพลาดที่สั้นที่สุด
ท้าทาย เขียนโปรแกรมสั้นที่สุดที่เมื่อรวบรวมหรือดำเนินการผลิตข้อความแสดงข้อผิดพลาดร้ายแรงน้อยกว่าโปรแกรมเอง raiseข้อผิดพลาดอาจไม่ได้รับการสร้างขึ้นโดยโปรแกรมตัวเองเช่นงูหลาม คำตอบที่ถูกต้องจะต้องมีทั้งรหัสและข้อความแสดงข้อผิดพลาด คำตอบที่ถูกต้องสั้นที่สุดชนะ ไม่มีข้อความแสดงข้อผิดพลาดไม่นับเป็นข้อความแสดงข้อผิดพลาด ตัวอย่าง (Lua) รหัส (46 ไบต์): [ --aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ข้อผิดพลาด (45 ไบต์): [string "[..."]:1: unexpected symbol near '['

30
ทำให้เกิดข้อผิดพลาด quine!
ความท้าทายของคุณ: เขียน "โปรแกรม" สำหรับภาษาที่คุณเลือกซึ่งทำให้คอมไพเลอร์ / ล่าม / รันไทม์เพื่อสร้างเอาต์พุตข้อผิดพลาดเมื่อรวบรวม / รันโปรแกรมของคุณซึ่งเหมือนกับซอร์สโค้ดของโปรแกรมของคุณ กฎ: โปรแกรมของคุณอาจเฉพาะเจาะจงกับรุ่นที่เฉพาะเจาะจงหรือการใช้สภาพแวดล้อมคอมไพเลอร์ / ล่าม / รันไทม์ของภาษาของคุณ ถ้าเป็นเช่นนั้นโปรดระบุรายการ อนุญาตเฉพาะตัวเลือกคอมไพเลอร์ / ล่าม / รันไทม์มาตรฐาน คุณไม่สามารถส่งแฟล็กแปลก ๆ ไปยังคอมไพเลอร์ของคุณเพื่อรับผลลัพธ์ที่เฉพาะเจาะจง โปรแกรมไม่จำเป็นต้องมีความถูกต้องทางไวยากรณ์หรือเชิงความหมาย แต่ฉันอาจมอบความโปรดปรานให้กับการส่งที่ถูกต้องตามหลักไวยากรณ์ที่ดีที่สุด โปรแกรมจะต้องไม่สร้างเอาต์พุตของตัวเอง (เช่นโดยการเรียกฟังก์ชันการพิมพ์หรือเอาต์พุต) เอาต์พุตทั้งหมดที่สร้างขึ้นเมื่อพยายามคอมไพล์ / รันโปรแกรมต้องมาจากคอมไพเลอร์ / ล่าม / รันไทม์ ผลลัพธ์ที่สมบูรณ์ของคอมไพเลอร์ / ล่าม / รันไทม์จะต้องเหมือนกับรหัสต้นฉบับโปรแกรมของคุณ คอมไพเลอร์ / ล่าม / รันไทม์ต้องสร้างข้อความแสดงข้อผิดพลาดอย่างน้อยหนึ่งข้อความเมื่อเรียกใช้กับโปรแกรมของคุณ นี่คือการประกวดความนิยม คำตอบที่สร้างสรรค์ส่วนใหญ่ตามที่กำหนดโดย upvotes ชนะ …

15
สร้างข้อความแสดงข้อผิดพลาดที่ยาวที่สุดใน C ++
เขียนโปรแกรมสั้นที่จะสร้างข้อความที่ยาวที่สุดที่เป็นไปได้ข้อผิดพลาดในมาตรฐาน C ++ คอมไพเลอร์ ( gcc, cl.exe, iccหรือclang) คะแนนของแต่ละรายการคือจำนวนตัวอักษรในข้อความแสดงข้อผิดพลาดที่ยาวที่สุดที่คอมไพเลอร์ปล่อยออกมา ชนิดที่รวมอยู่ในซอร์สโค้ดของคุณและคอมไพเลอร์ที่ยกมาจะนับเป็นอักขระตัวเดียว การโกง คุณสามารถกำหนดเทมเพลตใหม่ในเทมเพลตในเทมเพลตที่มีชื่อยาว ๆ ได้ แต่ฉันคาดหวังว่ามีอะไรสร้างสรรค์ ฉันพยายามป้องกันบางอย่างโดยกฎล่าสุด แต่แน่นอนว่ากฎนั้นดีกว่าและฉันยินดีที่จะปรับปรุง

8
อักขระ 1 ตัวที่สร้างข้อความผิดพลาดส่วนใหญ่จากการคอมไพล์ C ++
ดูเหมือนว่าการเปลี่ยนแปลงอย่างง่าย ๆ ในไฟล์ C ++ โดยเฉพาะกับเทมเพลตสามารถสร้างหน้าของข้อผิดพลาดได้ การประกวดครั้งนี้คือการดูว่า "ปังของเจ้าชู้" ที่ใหญ่ที่สุดคืออะไรนั่นคือข้อผิดพลาดที่ละเอียดมากขึ้นด้วยการเปลี่ยนแปลงที่เล็กที่สุดในรหัสที่มา (การเพิ่ม 1 ตัวอักษร) เนื่องจากภาษาอื่นมีสติมากกว่านี้จึง จำกัด เฉพาะ C ++ และ gcc เวอร์ชัน 4.x กฎระเบียบ ไฟล์ต้นฉบับต้นฉบับจะต้องรวบรวมกับ gcc 4.9.2 ไปยังรหัสวัตถุโดยไม่มีข้อผิดพลาด เพิ่มหนึ่งอักขระ ASCII ในซอร์สโค้ดเพื่อสร้างการพิมพ์ที่ผิดพลาดเพิ่มขนาดไฟล์ทีละ 1 ไบต์ คอมไพเลอร์ทำงานด้วยตัวเลือกเริ่มต้น ตัวเลือกที่จำเป็นเช่น-cและ-std=c++11ได้รับอนุญาตตัวเลือก-Wallไม่ได้ ตัวชี้วัดคือ number of bytes of generated error messages ----------------------------------------------------------------------- (bytes of source code with typo) (length of …

9
เขียนโปรแกรมที่สั้นที่สุดที่สร้างคำเตือนและข้อผิดพลาดคอมไพเลอร์มากที่สุด
ความท้าทาย: เขียนโปรแกรมสั้น ๆ ที่เมื่อรวบรวมแล้วจะสร้างคำเตือนและข้อผิดพลาดจำนวนมากที่สุด มันสามารถเขียนในภาษาการเขียนโปรแกรมใด ๆ เกณฑ์การให้คะแนน: คะแนนถูกกำหนดโดยสมการนี้: errors_and_warnings_length/code_length. คะแนนสูงสุดชนะ ตัวอย่าง: โปรแกรม C # classยาว 5 ตัวอักษรและสร้างคำเตือน 3 คำซึ่งเป็นคะแนน (1/5) * 3 = 0.6 แก้ไข: เนื่องจากความสับสนบางอย่างโปรแกรมจะต้องมีความยาวอย่างน้อย 1 ถ่าน มิฉะนั้นจะได้รับคะแนนอนันต์

30
เรามีคำถามหนึ่งครั้งซึ่งล้มเหลวในวันอาทิตย์เท่านั้น
แรงบันดาลใจจากเรามีการทดสอบหน่วยครั้งเดียวซึ่งล้มเหลวในวันอาทิตย์เท่านั้นเขียนโปรแกรมหรือฟังก์ชั่นที่ไม่ทำอะไรเลยนอกจากโยนข้อผิดพลาดเมื่อมันเป็นวันอาทิตย์และออกอย่างสง่างามในวันอื่น ๆ กฎ: ไม่ใช้อินพุตหรือแสดงเอาต์พุตผ่านวิธีการ IO ปกติยกเว้นการพิมพ์ไปยัง STDERR หรือภาษาที่เทียบเท่าของคุณ คุณได้รับอนุญาตให้พิมพ์ไปที่ STDOUT หากเป็นผลพลอยได้จากข้อผิดพลาดของคุณ ฟังก์ชั่นอาจคืนค่าในวันอาทิตย์ตราบใดที่มันไม่ได้พิมพ์อะไรเลย โปรแกรมของคุณอาจใช้วันอาทิตย์จากเขตเวลาใดก็ได้หรือเขตเวลาท้องถิ่นตราบใดที่มีความสอดคล้อง ข้อผิดพลาดคือสิ่งที่ทำให้โปรแกรมหยุดทำงานผิดปกติเช่นการหารด้วยข้อผิดพลาดที่เป็นศูนย์หรือการใช้ตัวแปรที่ไม่มีการกำหนดค่าเริ่มต้น ซึ่งหมายความว่าหากมีการเพิ่มรหัสใด ๆ หลังจากส่วนที่มีข้อผิดพลาดจะไม่ถูกประมวลผลในวันอาทิตย์ raiseนอกจากนี้คุณยังสามารถใช้งบที่ตนเองสร้างข้อผิดพลาดเทียบเท่ากับงูใหญ่ ซึ่งรวมถึงข้อผิดพลาดขณะทำงานข้อผิดพลาดทางไวยากรณ์และข้อผิดพลาดขณะรวบรวม (ขอให้โชคดี!) ในข้อผิดพลาดจะต้องมีสัญญาณบางอย่างที่แตกต่างจากไม่มีข้อผิดพลาด นี่คือรหัสกอล์ฟดังนั้นจำนวนไบต์ที่สั้นที่สุดในแต่ละภาษาจะชนะ! ฉันจะต้องรอจนกว่าจะถึงวันอาทิตย์เพื่อตรวจสอบคำตอบ;)

9
ทำให้ผู้ผลิต quine ข้อผิดพลาดช้า!
เป็นส่วนหนึ่งของคำตอบของเขาในการทำ Error Quine! , @Falko เสนออัลกอริทึมต่อไปนี้: วิธีสร้างโซลูชันของคุณเองใน 2 นาที? เปิดไฟล์ใหม่ใน IDE ที่คุณเลือก ตบหัวของคุณไปที่คีย์บอร์ดด้านหน้าคุณ รวบรวม. แทนที่รหัสด้วยข้อความแสดงข้อผิดพลาดของคอมไพเลอร์ ทำซ้ำขั้นตอนที่ 3 และ 4 จนกระทั่งรหัสบรรจบกัน ฉันเดิมพันขั้นตอนดังกล่าวยุติอย่างรวดเร็วในกรณีส่วนใหญ่! งาน งานของคุณคือการพิสูจน์ว่าเขาผิด เขียนโปรแกรมเต็มรูปแบบที่ตอบสนองต่อไปนี้: เมื่อรวบรวมหรือตีความมันสร้างข้อผิดพลาดที่เมื่อรวบรวมหรือตีความในทางกลับกันก็ส่งผลให้เกิดข้อผิดพลาด ทำซ้ำขั้นตอนที่ 1 ซ้ำแล้วซ้ำอีกในที่สุดจะพบจุดคงที่เช่นข้อผิดพลาด quine กฎเพิ่มเติม ข้อความแสดงข้อผิดพลาดสุดท้ายจะต้องมีความยาวเป็นบวก อย่างไรก็ตามข้อความแสดงข้อผิดพลาดก่อนหน้าและรหัสต้นฉบับอาจว่างเปล่า ความยาวของซอร์สโค้ดต้นฉบับต้องไม่เกิน 1024 ไบต์ รหัสต้นฉบับหรือรหัสที่สร้างในขั้นตอนใด ๆ อาจสร้างผลลัพธ์ที่ไม่ใช่ข้อผิดพลาด เอาต์พุตจะต้องระบุได้อย่างชัดเจนว่าเป็นข้อความแสดงข้อผิดพลาดซึ่งจะต้องสร้างขึ้นโดยคอมไพเลอร์ / ล่ามเนื่องจากข้อผิดพลาดทางไวยากรณ์ข้อผิดพลาดรันไทม์การอ้างอิงที่ไม่ได้กำหนด ฯลฯ โปรแกรมของคุณอาจไม่ได้รับอินพุตหรือต้องการแฟล็กใด ๆ เพื่อสร้างลูป โปรแกรมของคุณอาจขึ้นอยู่กับการใช้งานเฉพาะของภาษาหรือรุ่นของมัน เกณฑ์การให้คะแนน คะแนนของคุณคือจำนวนจำกัดของขั้นตอนซอร์สโค้ดที่คุณต้องการก่อนสร้างข้อผิดพลาด การส่งที่มีคะแนนสูงสุดจะเป็นผู้ชนะ ความยาวของซอร์สโค้ดต้นฉบับจะถูกใช้เป็นตัวแบ่งไทม์ …

24
ความท้าทาย ogl-edocf
อินพุต ไม่ว่างเปล่าสตริงสับประกอบด้วยอักขระ ASCII ในช่วง ][ 32..126 ][32..126][32..126] เอาท์พุต เอาต์พุตได้มาจากการใช้การหมุนต่อเนื่องกับสตริงอินพุต สำหรับแต่ละตัวอักษร ( [a-zA-Z]) ในสตริงอินพุตให้เปลี่ยนจากซ้ายไปขวา: ถ้าตัวอักษรเป็นตัวพิมพ์ใหญ่หมุนตัวอักษรทั้งหมดก่อนโดยตำแหน่งเดียวไปทางซ้าย หากตัวอักษรเป็นตัวพิมพ์เล็กให้หมุนตัวอักษรทั้งหมดก่อนโดยตำแหน่งเดียวไปทางขวา ตัวอย่าง อินพุต: "Cb-Ad" อักษรตัวแรกคือ " C " เราควรหมุนไปทางซ้าย แต่ไม่มีตัวละครอยู่ก่อนหน้านี้ " C " ดังนั้นจึงไม่มีอะไรจะหมุน ตัวอักษรถัดไปคือ " b " เราหมุน " C " ไปทางขวา เนื่องจากเป็นอักขระตัวเดียวจึงไม่เปลี่ยนแปลง อักขระ " - " ไม่เรียกใช้การหมุนใด ๆ เนื่องจากไม่ใช่ตัวอักษร ตัวอักษรถัดไปคือ " A " เราหมุน …
22 code-golf  string  code-golf  string  code-golf  string  parsing  brainfuck  code-challenge  python  hello-world  error-message  code-golf  string  code-golf  number  integer  counting  subsequence  code-golf  string  cipher  code-golf  array-manipulation  arithmetic  integer  matrix  code-golf  math  sequence  code-golf  restricted-source  pi  popularity-contest  cops-and-robbers  polyglot  popularity-contest  cops-and-robbers  polyglot  code-golf  file-system  king-of-the-hill  code-golf  number  sequence  integer  rational-numbers  string  code-challenge  source-layout  code-golf  ascii-art  king-of-the-hill  code-golf  array-manipulation  sorting  code-golf  string  code-golf  restricted-source  source-layout  tips  math  code-challenge  permutations  logic-gates  code-golf  number  random  integer  code-golf  math  code-golf  math  number  decision-problem  king-of-the-hill  python  board-game  code-challenge  brainfuck  busy-beaver  code-golf  number  cops-and-robbers  polyglot  obfuscation  answer-chaining  code-golf  number  integer  conversion  code-golf  string  parsing  code-golf  ascii-art  number  king-of-the-hill  javascript  code-golf  source-layout  radiation-hardening  code-golf  array-manipulation  matrix  code-golf  string  graph-theory  code-golf  array-manipulation  decision-problem  code-golf  string  ascii-art  code-golf  string  code-golf  array-manipulation 

15
โค่นล้มโดมิโน!
ขอบคุณคำถามนี้สำหรับแรงบันดาลใจบางอย่าง ในความท้าทายนี้เราจะเป็นตัวแทนของสายของแต้มเป็นสตริงของที่|, และ/ \คุณจะได้รับสายอักขระโดมิโนเป็นอินพุตและคุณต้องพิจารณาสิ่งที่พวกเขาดูเหมือนเมื่อพวกเขาได้ตัดสิน นี่คือกฎสำหรับแต้มที่ตกลงมา โดมิโนที่ยืนอยู่|, ซ้ายของโดมิโนที่ล้มลงทางซ้าย\, จะกลายเป็นโดมิโนที่ล้มลงด้วยเช่นกัน โดมิโนที่ยืนอยู่|ด้านขวาของโดมิโนที่ถูกตก/จะกลายเป็นโดมิโนที่ตกลงมาอย่างถูกต้องเช่นกัน หากโดมิโนยืนอยู่ระหว่างซ้าย\และขวาตก/โดมิโนมันจะยังคงยืนอยู่ กฎเหล่านี้จะถูกนำมาใช้ซ้ำ ๆ จนกระทั่งข้อตกลงไม่เปลี่ยนแปลงอีกต่อไป นี่คือตัวอย่างของวิธีการป้อนข้อมูลเดียวอาจมาถึงข้อสรุปของมัน |||||||\/|||||||\||\|||/||||||\||||| ||||||\\//|||||\\|\\|||//||||\\||||| |||||\\\///|||\\\\\\|||///||\\\||||| ||||\\\\////|\\\\\\\|||////\\\\||||| |||\\\\\////|\\\\\\\|||////\\\\||||| ||\\\\\\////|\\\\\\\|||////\\\\||||| |\\\\\\\////|\\\\\\\|||////\\\\||||| \\\\\\\\////|\\\\\\\|||////\\\\||||| งานของคุณคือการเขียนโค้ดที่ค้นหาและแสดงผลลัพธ์สุดท้ายของอินพุต คุณอาจสมมติว่าอินพุตนั้นถูกต้องเสมอและมีอย่างน้อย 2 ตัวอักษร นี่คือcode-golfดังนั้นคำตอบจะได้คะแนนเป็นไบต์ด้วยจำนวนไบต์ที่น้อยกว่าจะดีกว่า กรณีทดสอบ |||/|||| -> |||///// |||\|||| -> \\\\|||| |/||||\| -> |///\\\| ||/|||\| -> ||//|\\| ||\|||/| -> \\\|||//

6
ข้อความแสดงข้อผิดพลาดปลอม
เขียนโปรแกรมที่พิมพ์ข้อความแสดงข้อผิดพลาดทางไวยากรณ์ของคอมไพเลอร์หรือล่าม ข้อความแสดงข้อผิดพลาดควรทำให้เข้าใจผิดเพื่อให้ผู้ดูแลโค้ดใช้เวลาหลายวันในการตรวจสอบว่าข้อผิดพลาดนั้นปลอมซึ่งหมายความว่าคุณควรทำให้งงงวย (และซ่อนเจตนาของคุณ) นอกจากนี้ข้อผิดพลาดจะต้องตรงตามที่เป็นไปได้และควรอ้างอิงรหัสอย่างถูกต้อง สำหรับภาษาที่ใช้งานสมมติว่าผู้ดูแลรหัสของคุณจะทำcompile program.p && ./programในบรรทัดคำสั่งเพื่อคอมไพล์และรันโปรแกรมซึ่งหมายความว่าเขาไม่สามารถแยกแยะได้ว่าเอาต์พุตมาจากคอมไพเลอร์หรือตัวโปรแกรมเอง นอกจากนี้สมมติว่าผู้ดูแลรหัสของคุณจะเปิดข้อความแสดงข้อผิดพลาดทางไวยากรณ์ สำหรับการอ้างอิงต่อไปนี้เป็นตัวอย่างที่ฉันทำ: https://gist.github.com/359604 DATAส่วน encodes สตริงของข้อผิดพลาดและกัญชา%abcdefเป็นตารางการถอดรหัส ข้อผิดพลาดที่พิมพ์อ้างอิงถึงแบ็กสแลชซึ่งทำให้ผู้ดูแลโค้ดจะพยายามนับแบ็กสแลช ผลงานจะถูกให้คะแนนโดย: รหัสมีเจตนาชัดเจนที่หลอกลวง /6 โค้ดทำซ้ำข้อผิดพลาดอย่างถูกต้อง/16 (จุดของคุณเริ่มต้นด้วย 16 และหารด้วยปัจจัยที่เกี่ยวข้องสำหรับความไม่ถูกต้องแต่ละครั้ง) การใช้อักษรตัวพิมพ์ใหญ่ให้ถูกต้อง: 4 หมายเลขบรรทัดที่ถูกต้องและหมายเลขคอลัมน์: 4 ถ้อยคำที่ถูกต้อง: 2 สำหรับแต่ละคำที่ไม่ถูกต้อง หมายเลขบรรทัดที่อ้างถึงทำให้ผู้ดูแลโค้ดเข้าใจผิด /3 ตัวอย่างเช่น, ./pythontest1.py: line 7: syntax error near token `(' ./pythontest1.py: line 7: ` x=input("Enter a number:") #Number input' ได้รับ …

2
Quine / Error Quine Polyglot
งานของคุณง่าย: เขียนโปรแกรมที่สามารถทำงานได้สองภาษา ควรเป็นควินปกติ (พิมพ์รหัสต้นฉบับของตนเอง) ในภาษา 1 และควรเป็นข้อผิดพลาดควิน (สร้างข้อความแสดงข้อผิดพลาดเหมือนกับรหัสต้นฉบับของตนเอง) ในภาษา 2 นี่คือรหัสกอล์ฟดังนั้นการส่งที่ถูกต้องที่สั้นที่สุด (เป็นไบต์) ชนะ กฎ: ภาษาอาจคล้ายกันโดยพลการ Supersets / รุ่นที่คล้ายกัน / ภาษาที่คล้ายกันจะไม่ได้รับอนุญาต กฎข้อผิดพลาด quine เหมือนกับกฎข้อผิดพลาดในการทำข้อผิดพลาด! .

4
รับคะแนน pylint ต่ำสุดที่เป็นไปได้ภายใน 128 ไบต์ของ python
ไพลินมีคะแนนไม่ต่ำกว่าที่จะให้รหัสของคุณ มันใช้ตัวชี้วัดต่อไปนี้เพื่อให้คะแนนรหัสด้วยคะแนนสูงสุดเป็น 10: 10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10) ด้วย python 3.6 ลองและเขียนโปรแกรมที่: เอาต์พุต "Hello World" เมื่อรันจากบรรทัดคำสั่ง (เช่นpython script.py) และไม่มีเอาต์พุตอื่น รับคะแนนต่ำสุดที่เป็นไปได้pylintด้วยการตั้งค่าเริ่มต้น (เช่นpylint script.py) มีขนาดน้อยกว่าหรือเท่ากับ 128 ไบต์อย่างเคร่งครัด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.