สวัสดีชาวโลกในหลายภาษา


72

งาน

สร้างโปรแกรมหรือฟังก์ชั่นที่ใช้งานได้ในหลายภาษาการเขียนโปรแกรมและเมื่อคอมไพล์ / ตีความเป็นเอาต์พุตภาษาอื่น "Hello, World!" ในภาษาธรรมชาติที่แตกต่างกัน

ตัวอย่างเช่นทางออกที่ถูกต้องอาจส่งออกHello World!(อังกฤษ) เมื่อรวบรวมและเรียกใช้เป็น C, Hallo Welt!(เยอรมัน) เมื่อรวบรวมและเรียกใช้เป็น C ++ และ你好世界!(จีน) เมื่อทำงานเป็น Python

กฎระเบียบ

เพื่อหลีกเลี่ยงความคลุมเครือเกี่ยวกับความถูกต้องของคำตอบด้านล่างเป็นรายการของวลีที่ได้รับอนุญาตในหลายภาษา รายการประกอบด้วยวลีในภาษาที่ Google แปลภาษามีการแปลที่ตรวจสอบโดยชุมชนของวลี (ตามที่เขียนนี้) *

ความถูกต้องของการแปลเหล่านี้เป็นที่ถกเถียงกัน แต่เป็นความท้าทายที่จะใช้ สตริงที่พิมพ์จะต้องเป็นไปตามรูปแบบด้านล่างทุกประการ (ยกเว้นเว้นวรรคนำหน้าหรือต่อท้าย)

Afrikaans:    Hello Wêreld!
Albanian:     Përshendetje Botë!
Amharic:      ሰላም ልዑል!
Arabic:       مرحبا بالعالم!
Armenian:     Բարեւ աշխարհ!
Basque:       Kaixo Mundua!
Belarussian:  Прывітанне Сусвет!
Bengali:      ওহে বিশ্ব!
Bulgarian:    Здравей свят!
Catalan:      Hola món!
Chichewa:     Moni Dziko Lapansi!
Chinese:      你好世界!
Croatian:     Pozdrav svijete!
Czech:        Ahoj světe!
Danish:       Hej Verden!
Dutch:        Hallo Wereld!
English:      Hello World!
Estonian:     Tere maailm!
Finnish:      Hei maailma!
French:       Bonjour monde!
Frisian:      Hallo wrâld!
Georgian:     გამარჯობა მსოფლიო!
German:       Hallo Welt!
Greek:        Γειά σου Κόσμε!
Hausa:        Sannu Duniya!
Hebrew:       שלום עולם!
Hindi:        नमस्ते दुनिया!
Hungarian:    Helló Világ!
Icelandic:    Halló heimur!
Igbo:         Ndewo Ụwa!
Indonesian:   Halo Dunia!
Italian:      Ciao mondo!
Japanese:     こんにちは世界!
Kazakh:       Сәлем Әлем!
Khmer:        សួស្តី​ពិភពលោក!
Kyrgyz:       Салам дүйнө!
Lao:          ສະ​ບາຍ​ດີ​ຊາວ​ໂລກ!
Latvian:      Sveika pasaule!
Lithuanian:   Labas pasauli!
Luxemburgish: Moien Welt!
Macedonian:   Здраво свету!
Malay:        Hai dunia!
Malayalam:    ഹലോ വേൾഡ്!
Mongolian:    Сайн уу дэлхий!
Myanmar:      မင်္ဂလာပါကမ္ဘာလောက!
Nepali:       नमस्कार संसार!
Norwegian:    Hei Verden!
Pashto:       سلام نړی!
Persian:      سلام دنیا!
Polish:       Witaj świecie!
Portuguese:   Olá Mundo!
Punjabi:      ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ ਦੁਨਿਆ!
Romanian:     Salut Lume!
Russian:      Привет мир!
Scots Gaelic: Hàlo a Shaoghail!
Serbian:      Здраво Свете!
Sesotho:      Lefatše Lumela!
Sinhala:      හෙලෝ වර්ල්ඩ්!
Slovenian:    Pozdravljen svet!
Spanish:      ¡Hola Mundo!         // Leading '¡' optional
Sundanese:    Halo Dunya!
Swahili:      Salamu Dunia!
Swedish:      Hej världen!
Tajik:        Салом Ҷаҳон!
Thai:         สวัสดีชาวโลก!
Turkish:      Selam Dünya!
Ukrainian:    Привіт Світ!
Uzbek:        Salom Dunyo!
Vietnamese:   Chào thế giới!
Welsh:        Helo Byd!
Xhosa:        Molo Lizwe!
Yiddish:      העלא וועלט!
Yoruba:       Mo ki O Ile Aiye!
Zulu:         Sawubona Mhlaba!

ดังนั้นจึงมี 74 ภาษาที่สามารถใช้ได้

เกณฑ์การชนะ

ทางออกที่สามารถส่งออกวลีในจำนวนที่มากที่สุดของภาษาที่ชนะ ในกรณีที่เสมอกันโซลูชันที่สั้นกว่า (เป็นไบต์) จะชนะ


* คำแปลสำหรับ Malagasy และ Maltese ถูกทำเครื่องหมายว่าเป็นชุมชนที่ผ่านการตรวจสอบแล้ว แต่ชัดเจนว่าไม่ถูกต้อง (อันหนึ่งคือ "Hello World!" และ "Hello dinja!" แต่ "Hello!" คนเดียวแปลเป็น "Bongu!") สิ่งเหล่านี้ถูกยกเว้น นอกจากนี้บางภาษา (อาหรับฮิบรู Pashto เปอร์เซียและยิดดิช) อ่านจากขวาไปซ้ายบน Google Translate แต่เมื่อคัดลอกมาที่นี่พวกเขาอ่านจากซ้ายไปขวา ฉันหวังว่าไม่เป็นไร


เราได้รับอนุญาตให้ใช้วิธีการนับไบต์ที่สอดคล้องกันซึ่งไม่ได้ใช้โดยภาษาการเขียนโปรแกรมใด ๆ ที่ใช้หรือไม่
Zacharý

@ Zacharýฉันเดาว่าการเข้ารหัสเดี่ยวใด ๆ ที่มีการแสดงอักขระทั้งหมดที่ใช้ในคำตอบนั้นสามารถใช้นับไบต์ได้ หรือบางทีจำนวนไบต์ควรนับเป็น UTF-8 สำหรับทุกคำตอบ?
Steadybox

1
หากฉันมีภาษาที่ใช้การเข้ารหัสที่แตกต่างจากที่อื่น ๆ ทั้งหมดฉันควรแปลงรหัสให้เป็นเพจรหัสของภาษานั้นหรือใช้การแทนไบต์เดียวกัน (ซึ่งจะยากเพราะบางไบต์ส่งผลให้ไม่ถูกต้อง UTF-8)
NieDzejkob

2
@NieDzejkob ฉันคิดว่ากฎสำหรับ polyglot มีหนึ่งไฟล์ที่มีขนาดไบต์ที่วัดได้และสามารถเรียกใช้โดย interpreter / compiler หลายตัว ( ตัวอย่าง )
user202729

4
โปรดทราบว่าเครื่องหมายอัศเจรีย์ในจีนและญี่ปุ่น ( , U + FF01) นั้นแตกต่างจากเครื่องหมายอื่น ๆ ( !, U + 0021)
alephalpha

คำตอบ:


32

23 Befunges, 713 ไบต์

ภาษาเดียวที่ฉันรู้คือ Befunge ดังนั้นแทนที่จะเป็นหลายภาษาฉันเพิ่งไปใช้หลาย ๆ ภาษาของ Befunge ผมเชื่อว่านี่ยังคงถูกต้องภายใต้กฎระเบียบ PPCG ซึ่งพิจารณาภาษาที่จะถูกกำหนดโดยการดำเนินงานของ

8023/# !-1401p680p88+79*6+1p238*7+0pg90p$#v0';1';+>9%80p$$$$"ph~s"+3vv
vv_2#!>#-/\#21#:+#:>#\<0/-2*3`0:-/2g01g00p>#< 2#0 ^#1/4*:*9"9"p00***<<
>>$:2%3*-4/3g68*-70p1-0`02-3/-03-2%1+2/-70g+80g65+70g`7++3g68*-70g9`*v
0168:0>0133?45130120340200v00:<+8*+76%4p00+5/4:+-*86g3++98/2%+98g09+<<
                         @>gg#^:#+,#$"!"-#1_@
       !Helo Byd!!!!!Hai dunia!!!!Ciao mondo!!!Hallo Wereld!!!!
       !Hallo Welt!!!Halo Dunia!!!Halo Dunya!!!Bonjour monde!!!
       !Hei Verden!!!Hej Verden!!!Moien Welt!!!Labas pasauli!!!
       !Molo Lizwe!!!Salut Lume!!!Hei maailma!!Sveika pasaule!!
       !Hello World!!Salom Dunyo!!Tere maailm!!Sawubona Mhlaba!
       !Kaixo Mundua!Salamu Dunia!Sannu Duniya!!!!!!!!!!!!!!!!!

สิ่งที่น่าผิดหวังเกี่ยวกับ Befunge คือแม้ว่าจะมีการใช้งานโอเพ่นซอร์สอ้างอิงและภาษานั้นเรียบง่าย แต่ไม่มีล่ามบุคคลที่สาม (ที่ฉันรู้) ที่ตรงกับพฤติกรรมการอ้างอิง การใช้งานทุกครั้งล้มเหลวในวิธีที่แตกต่างกัน

ในทางบวกนี่ทำให้เรามีโอกาสพัฒนาโค้ดชิ้นเดียวที่จะให้ผลลัพธ์ที่แตกต่างกันในเกือบทุกล่าม และนั่นคือสิ่งที่ฉันพยายามทำในโปรแกรมด้านบน

หากใครสนใจตรวจสอบผลลัพธ์ฉันพยายามจัดกลุ่มการนำไปใช้งานต่าง ๆ เป็นหมวดหมู่โดยพิจารณาจากความง่ายในการเริ่มใช้งาน (เช่นบางคนอาจไม่สามารถเรียกใช้ไบนารีของ Windows หรืออาจไม่เต็มใจที่จะ สร้างจากแหล่งที่มา แต่ทุกคนควรทดสอบล่ามออนไลน์ได้)

ล่ามออนไลน์

ไม่จำเป็นต้องติดตั้ง โดยปกติจะเป็นเพียงเรื่องของการวางโค้ดและคลิกปุ่มหนึ่งหรือสองปุ่ม แต่โปรดทราบว่าสิ่งเหล่านี้บางอย่างค่อนข้างช้าดังนั้นอาจต้องใช้เวลาสักครู่ในการดำเนินการให้เสร็จ

สนามเด็กเล่น Befunge ของ Alexios - Salamu Dunia!

คลิกที่Clear...ปุ่มและวางรหัสลงในช่องใส่ สลับEditสวิตช์เพื่อเปิดใช้งานล่ามแล้วคลิกRunปุ่มเพื่อเริ่มการทำงาน
โปรดทราบว่าไซต์นี้อาจไม่ทำงานในเบราว์เซอร์อื่นที่ไม่ใช่ Chrome

Befungius - Molo Lizwe!

วางรหัสลงในช่องใส่ให้แน่ใจว่าได้เขียนทับรหัสที่มีอยู่ จากนั้นคลิกRunปุ่มเพื่อดำเนินการ

Befunge 93 ล่ามของ David Klick - Sannu Duniya!

วางรหัสลงในช่องป้อนข้อมูลของPlayfieldแล้วคลิกRunปุ่มเพื่อเริ่มการทำงาน

ล่าม Befunge-93 ของ Ian Osgood - Salut Lume!

วางรหัสลงในฟิลด์อินพุตใต้Showปุ่มตรวจสอบให้แน่ใจว่าได้เขียนทับสิ่ง@ที่มีอยู่แล้ว คลิกที่Showปุ่มเพื่อนำเข้ารหัสจากนั้นคลิกที่Runปุ่มเพื่อเริ่มดำเนินการ

jsFunge IDE - Hej Verden!

แรกปิดการช่วยเหลือโต้ตอบจากนั้นคลิกเปิด / นำเข้าปุ่มแถบเครื่องมือ (ที่สองจากซ้าย) OKวางในรหัสและคลิก หากต้องการดำเนินการให้คลิกปุ่มRun Mode (ที่สี่จากซ้าย) จากนั้นคลิกที่Start (ที่ห้าจากซ้าย)

นอกจากนี้โปรดทราบว่า TIO ที่ใช้คอนโซลมีอยู่จริงใน TIO ดังนั้นในขณะที่พวกเขาไม่ได้เป็นล่ามทางเทคนิคออนไลน์พวกเขาสามารถทดสอบออนไลน์ได้ สำหรับผู้ที่ได้รับการสนับสนุน (ปัจจุบันคือ BEF, FBBI, MTFI และ PyFunge) ฉันได้รวมTry It Online แล้ว! ลิงค์ถัดจากรายการ

Java IDEs

คุณจะต้องมีการติดตั้งรันไทม์ของ Java สำหรับสิ่งเหล่านี้ แต่ในทางทฤษฎีควรทำงานบนแพลตฟอร์มใด ๆ ทดสอบเฉพาะบน Windows เท่านั้น

แอปเพล็ต Visual Befunge ของ Ashley Mills - Moien Welt!

นี่เป็นครั้งแรกที่แอปเพล็ตออนไลน์ซึ่งน่าเสียดายที่ไม่สามารถใช้งานได้อีกต่อไป แต่คุณยังคงสามารถดาวน์โหลด jar และเรียกใช้มันเป็นแอปพลิเคชันเดสก์ทอป คุณจะต้องวางรหัสลงในหน้าต่างตัวแก้ไขโปรแกรมจากนั้นคลิกConvertปุ่มตามด้วยRunปุ่ม

วาซาบิ: วาซาบิเป็นล่าม Asinine Befunge ล่าสุดยอด - Hallo Welt!

ในการวางรหัสให้คลิกขวาที่มุมซ้ายบนของหน้าต่างตัวแก้ไข ( ต้องอยู่ด้านบนซ้ายสุด) และเลือกรายการเมนูวาง จากนั้นเปิดใช้งานช่องทำเครื่องหมายFull Speed (ไม่เช่นนั้นจะใช้เวลานาน) และคลิกRun!ปุ่มเพื่อเริ่มการทำงาน

YABI93: ล่าม Befunge93 อีกคนหนึ่ง - Halo Dunia!

กดCtrl+ A, Ctrl+ Vเพื่อวางรหัสลงในหน้าต่างตัวแก้ไขตรวจสอบให้แน่ใจว่าได้เขียนทับแหล่งที่มาเริ่มต้นแล้ว จากนั้นคลิกStartปุ่มเพื่อเริ่มการทำงาน

IDE ของ Windows

โดยทั่วไปคุณจะต้องใช้ Windows สำหรับสิ่งเหล่านี้แม้ว่าในบางกรณีอาจมีไบนารีสำหรับระบบปฏิบัติการอื่น ฉันไม่สามารถรับประกันได้ว่ารหัสจะทำงานบนแพลตฟอร์มอื่นได้

BefunExec -สวัสดีชาวโลก!

คุณไม่สามารถวางรหัสลงในเครื่องมือแก้ไขได้ดังนั้นคุณต้องบันทึกลงดิสก์ก่อน จากนั้นจาก IDE ให้ใช้เมนูไฟล์> เปิดเพื่อโหลดรหัสจากดิสก์และเลือกเมนูการจำลอง> เรียกใช้ / หยุดชั่วคราวเพื่อเรียกใช้

BeQunge - Labas pasauli!

กดCtrl+ Vเพื่อวางรหัสแล้วคลิกปุ่มแถบเครื่องมือดีบั๊ก (ฟันเฟืองสีน้ำเงิน) เพื่อเริ่มการทำงาน เมื่อแผงดีบักเกอร์ปรากฏขึ้นคุณจะต้องตั้งค่าความเร็วสูงสุด - ปุ่มทางด้านขวาของแถบเลื่อน - มิฉะนั้นจะใช้เวลานานจนเสร็จ

เชื้อรา - เป็นลูกโซ่!

กดCtrl+ Vเพื่อวางรหัสแล้วกดF5เพื่อเรียกใช้

Visbef: Visual Befunge '93 สำหรับ Windows - Hallo Wereld!

คุณไม่สามารถวางรหัสลงในเครื่องมือแก้ไขได้ดังนั้นคุณต้องบันทึกลงดิสก์ก่อน จาก IDE กดCtrl+ Oเพื่อเปิดเบราว์เซอร์ไฟล์และโหลดรหัสจากดิสก์แล้วกดF5เพื่อเรียกใช้

แอพ Windows Console

โดยทั่วไปแล้วสิ่งเหล่านี้ต้องการ Windows แม้ว่าแพลตฟอร์มอื่นอาจพร้อมใช้งาน แต่ไม่รับประกันว่าจะทำงานได้

ในทุกกรณีรหัสจะต้องถูกบันทึกลงในไฟล์บนดิสก์และชื่อไฟล์ที่ส่งไปยังล่ามเป็นพารามิเตอร์บรรทัดคำสั่ง ( source.bfในตัวอย่างบรรทัดคำสั่งที่ระบุด้านล่าง) นอกจากนี้โปรดทราบว่าบางรายการเป็นล่าม Befunge-98 ในทางเทคนิคและต้องรันด้วยตัวเลือกบรรทัดคำสั่งเฉพาะเพื่อบังคับใช้โหมดความเข้ากันได้ของ Befunge-93 หากคุณไม่ทำเช่นนั้นคุณจะไม่ได้รับผลลัพธ์ที่ถูกต้อง

BEFI: ล่าม Befunge-93 ของ Rugxulo - Hei Verden!

บรรทัดคำสั่ง: bef93w32 -q source.bf

CCBI: การทำตัวสอดคล้องกับ Befunge-98 Interpreter - Sveika pasaule!

สาย Comand: ccbi --befunge93 source.bf

MTFI: ล่าม Magus Technica Funge - Hai dunia!

บรรทัดคำสั่ง: mtfi -3 source.bf( ลองออนไลน์! )

แอพ Python และ PHP Console

สิ่งเหล่านี้ต้องการภาษาสคริปต์ที่เหมาะสมติดตั้ง - Python หรือ PHP

Befungee - Helo Byd!

บรรทัดคำสั่ง: befungee.py source.bf

PyFunge - Halo Dunya!

บรรทัดคำสั่ง: pyfunge -v 93 source.bf( ลองออนไลน์! )

Bephunge - Bonjour monde!

บรรทัดคำสั่ง: php bephunge.phps source.bf

แอปคอนโซลที่มาเท่านั้น

สิ่งเหล่านี้จะต้องถูกสร้างขึ้นจากแหล่งที่มาและมักจะง่ายที่สุดด้วยสภาพแวดล้อมที่เหมือน * nix บน Windows ผมใช้ของ Windows ระบบย่อยสำหรับลินุกซ์

BEF: การกระจายการอ้างอิง Befunge-93 - Ciao mondo!

บรรทัดคำสั่ง: bef -q source.bf( ลองออนไลน์! )

cfunge - Sawubona Mhlaba!

บรรทัดคำสั่ง: cfunge -s 93 source.bf

FBBI: เผาวัว Bevine Befunge-98 Intepreter -เฮ่ย maailma!

บรรทัดคำสั่ง: fbbi -93 source.bf( ลองออนไลน์! )

เชื้อรา - Kaixo Mundua!

บรรทัดคำสั่ง: fungi source.bf

Rc / Funge-98 - Salom Dunyo!

บรรทัดคำสั่ง: rcfunge -93 source.bf

มันทำงานอย่างไร

ความท้าทายคือพบการทดสอบจำนวนน้อยที่สุดที่ให้ความแตกต่างระหว่างล่ามมากที่สุด ในที่สุดมันลงมาถึงสี่ลำดับการทดสอบหลัก:

  1. สิ่งแรกคือหน่วยความจำนอกขอบเขตที่อ่านจากออฟเซ็ต -1,1 ในทางทฤษฎีแล้วสิ่งนี้ควรคืนค่า 32 (พื้นที่ ASCII) เสมอ แต่มีการเปลี่ยนแปลงจริง 10 แบบ การทดสอบนี้มีความซับซ้อนเนื่องจากข้อเท็จจริงที่ว่าล่ามสองคนชนกับการอ่านนอกขอบเขตดังนั้นจึงต้องมีการทดสอบสองกรณีพิเศษ (การปัดเศษการแบ่งและการแก้ช่องว่าง) เพื่อบังคับให้ทั้งสองกลับเข้าสู่ขอบเขต

  2. ลำดับที่สองคือการทดสอบการทำงาน Befunge-98 - โดยเฉพาะคำแนะนำและ; 'ล่ามเกือบทั้งหมดเป็น Befunge-93 หรือทำงานในโหมดความเข้ากันได้ของ Befunge-93 ดังนั้นพวกเขาควรเพิกเฉยต่อคำแนะนำเหล่านั้น ในทางปฏิบัติมี 6 วิธีที่แตกต่างกันในการตีความลำดับนี้

  3. การทดสอบที่สามตรวจสอบช่วงของเซลล์หน่วยความจำ ในล่ามอ้างอิงเซลล์หน่วยความจำได้รับการลงนาม 8-bit แต่การใช้งานอื่น ๆ นั้นแตกต่างกันไปในช่วงตั้งแต่ 8 บิตไปจนถึงไม่ได้ จำกัด บางลงนามและบางส่วนที่ไม่ได้ลงนาม อย่างไรก็ตามสำหรับวัตถุประสงค์ของการทดสอบนี้เราต้องแยกความแตกต่างระหว่าง 5 ของตัวแปรเหล่านั้น

  4. ลำดับที่สี่และสุดท้ายคือการรวมกันของการทดสอบอันเดอร์โฟล์และการหารเชิงลบ มีหลายวิธีในการที่นักแปลจะเข้าใจผิดอันเดอร์โฟลว์และมีวิธีการอย่างน้อย 3 วิธีในการใช้งานคำสั่งการหารและโมดูโล แต่มีชุดค่าผสมเพียง 3 ชุดเท่านั้นที่เราใส่ใจ

แต่ละลำดับเหล่านี้ส่งคืนหมายเลขเดียวและตัวเลขสี่ตัวเหล่านั้นรวมกัน (ผ่านทางคณิตศาสตร์และตารางการแปลพื้นฐานบางอย่าง) เพื่อสร้างค่าสุดท้ายในช่วง 0 ถึง 22 จากนั้นค่าดังกล่าวสามารถใช้เป็นดัชนีเพื่อค้นหาข้อความจริง เพื่อแสดง


วิธีการเลี้ยงดูค่อนข้างสวย แต่ไม่มีทางที่ฉันจะตีมันได้ ตอนนี้เราสามารถปรับและบีบ BrainFuck ในนั้นได้
Zacharý

10
ฉันรับรองกับคุณว่ามันไม่ง่ายอย่างที่คุณคิด มันเป็นความท้าทายเพียงแค่ให้โค้ดทำงานโดยไม่ขัดข้องในล่ามแปลบั๊กที่มีมากกว่า 20 คน หากฉันต้องการราคาถูกฉันจะใช้ Befunge-98 และสอบถามการปฏิบัติตามคู่มือ ( 3y)
James Holderness

2
ฉันหมายถึงราคาถูกเช่นเดียวกับที่คุณใช้เพียง befunges แต่ที่จริงแล้วน่าประทับใจมาก
Zacharý

มันน่าประทับใจอย่างมาก แต่เป็นไปได้หรือไม่ที่จะอธิบายว่าทำไมล่ามที่แตกต่างกันจึงปฏิบัติแตกต่างกันอย่างไร อาจไม่ใช่ทั้งหมด 23 เวอร์ชัน แต่อย่างน้อยก็มีตัวอย่างของความแตกต่างด้านพฤติกรรมที่คุณใช้ประโยชน์อย่างน้อยที่สุด?
Jack Brounstein

1
@JackBrounstein ฉันได้เพิ่มคำอธิบายเล็กน้อยในตอนท้ายของคำตอบ
James Holderness

64

16 ภาษา, 1363 ไบต์

 #define ip"MemuL tulaS",,,,,,,,,,"!",@++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.@,kc"Kaixo Mundua!"v#!
#define print(A,B,C)main(){printf("Helo Byd!");}//ss                                                                          ;ooooooooooooooooooo"Moni Dziko Lapansi!"<  
#ifdef __cplusplus//p                                                                                                                                 ;;];;
#include<cstdio>//ffffffffff?
#define print(A,B,C)int main(){printf("Halo Dunya!");}//ssp
#endif//;  [;;;;;;;;;     "!etejivs vardzoP"]
#ifdef __OBJC__//;;;;;
#define print(A,B,C)main(){printf("Hallo Welt!");}//ss
#endif//\
"""echo" "Salom Dunyo!";"exit";puts"Moien Welt!";\
__END__
#define B//\
"""#;;;;;
print(["Hai dunia!","Hej Verden!","Halo Dunia!"][(int(1>0)is 1)+~int(-1/2)*2])
#define s eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejiiiiiiiijeeeeeeeeeeeeeejiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejeejijiiiiiiiiiijeeeeeeeeeeejiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiij
#define U   !"!dlereW ollaH"<           ;
#define T@,kc"Sannu Duniya!?%?"

ลองออนไลน์!

(ใช้ "เปลี่ยนภาษา" เพื่อเปลี่ยนภาษา)

  • Python 3 = Halo Dunia! (อินโดนีเซีย)

  • Python 2 = Hej Verden! (เดนมาร์ก)

  • Python 1 = Hai dunia! (มาเลย์)

  • C (gcc) = Helo Byd! (เวลส์)

  • C ++ (gcc) = Halo Dunya! (ซุน)

  • วัตถุประสงค์ C (เสียงดังกราว) = Hallo Welt! (ภาษาเยอรมัน)

  • Brainfuck = สวัสดีชาวโลก! (อังกฤษชัด)

  • Befunge-93 = Salut Lume! (โรมาเนีย)

  • Ruby = Moien Welt! (ลักเซมเบิร์ก)

  • Bash = Salom Dunyo! (อุซเบก)

  • Befunge-98 (PyFunge) = Kaixo Mundua! (บาสก์)

  • Unefunge-98 (PyFunge) = Sannu Duniya! (เฮาซา)

  • พระคาร์ดินัล = Hallo Wereld! (ดัตช์)

  • Alphuck = Ciao mondo! (อิตาลี)

  • > <> = Moni Dziko Lapansi! (Chichewa)

  • Fission = Pozdrav svijete! (ภาษาไทย)

ยินดีต้อนรับเคล็ดลับการเล่นกอล์ฟ (โดยเฉพาะใน Brainfuck) !!

ขอบคุณ @JonathanFrech สำหรับ -1 ไบต์! นอกจากนี้ต้องขอบคุณ @ovs สำหรับ -40 ไบต์!

วิธี (ความคิดทั่วไปฉันลืมเฉพาะ) จริง ๆ ?

ภาษาสามารถแบ่งออกเป็นสี่กลุ่ม:

  • มาโคร: C, C ++, วัตถุประสงค์ C
  • ความคิดเห็น: Python3, Python2, Python1, Ruby, Bash
  • มิติข้อมูล: Befunge-93, Befunge-98, Unefunge-98, Cardinal,> <>, ฟิชชัน
  • หยาบคาย: Brainfuck, Alphuck

ภาษามาโครดู #เป็นจุดเริ่มต้นของคำสั่งพรีโปรเซสเซอร์ สิ่งเหล่านี้ใช้ด้วยเหตุผลสามประการ: รหัสบ้านสำหรับกลุ่มอื่นเพื่อแยกความแตกต่างระหว่างภาษามาโครและเพื่อกำหนดแมโครจริงๆ ทั้งสามใช้//เป็นความคิดเห็นดังนั้นหลังจากนั้นเราจะเก็บรหัสสำหรับกลุ่มอื่น นอกจากนี้แบ็กสแลชยังแสดงความคิดเห็นต่อในภาษาเหล่านี้

ภาษาของความคิดเห็นเห็น#ว่าเป็นจุดเริ่มต้นของความคิดเห็น การเล่นโวหารที่นี่คือคำพูดสามซึ่งแยกแยะ Pythons จาก Ruby จาก Bash และเพื่อแยกความแตกต่าง Python 1 จาก 2 จาก 3 เราใช้คุณลักษณะที่แตกต่างในทั้งสามพร้อมกับอาร์เรย์ของเอาต์พุต โอ้ใช่แล้วยังมี__END__นอกจากนี้ยังมีที่ นี่ใช้เพื่อวางโค้ดสำหรับบางภาษา (จำไม่ได้ว่าอันไหน) ของภาษาความคิดเห็น

ภาษามิติมีความแตกต่างในวิธีที่ยากที่จะอธิบาย หนึ่งจะต้องรู้เฉพาะของแต่ละภาษาที่จะคิดออก ตัวอย่างเช่น#เป็นเพียงการข้ามใน fungeoids ในขณะที่มันทำสิ่งต่าง ๆ ในภาษาอื่น ๆ รหัสนี้เกี่ยวกับทุกภาษาสำหรับภาษาเหล่านี้

และในที่สุดเราก็มาถึงภาษาหยาบคาย สองสิ่งนี้ไม่สนใจทุกสิ่งที่ไม่อยู่ในชุดอักขระที่ถูกต้อง การกระทำที่สมดุลจะต้องเล่นกับภาษาเหล่านี้และอื่น ๆ เนื่องจากรหัสมีอักขระอยู่ในชุดอักขระแล้ว


คุณสามารถรวมสตริงในการส่ง Python ให้เป็นสตริงขนาดใหญ่และใช้การแบ่งสตริงเพื่อทำดัชนีมันได้หรือไม่ "abcabcabc"[n::3] -> "aaa" for n = 0, "bbb" for n = 1เช่น ฉันรู้สึกว่าอาจมีวิธีที่คุณสามารถหั่นและบันทึกไบต์ด้วยการรวมอักขระที่ซ้ำกันในการแบ่งส่วนอย่างใด (เช่น H และ!)
โคล

2
เย็น! วงเล็บใน["Hai dunia!","Hej Verden!","Halo Dunia!"]เครื่องหมายจุลภาคป้องกัน!
Uriel

3
พวกเขาไม่จำเป็นต้องทำเช่นนั้นฉันใช้ข้อเท็จจริงที่ว่า TIO brainfuck เป็นค่าเริ่มต้น 0 (หรือไม่ทำอะไรเลยฉันไม่สามารถบอกได้) หากข้อมูลหมดจากผู้ใช้ มีเครื่องหมายจุลภาคที่ไม่มีการป้องกันอีก9 รายการที่ละเมิดข้อเท็จจริง
Zacharý

2
มีเหตุผลที่คุณไม่ได้ใช้+[++[<+++>->+++<]>+++++++]<<<--.<.<--..<<---.<+++.<+.>>.>+.>.>-.<<<<+.ส่วน BF ของคุณหรือไม่? ( ต้นฉบับ )
แยกผลไม้

1
ฉันได้เพิ่มคำอธิบายสำหรับใครก็ตามที่ต้องการดูมัน
Zacharý

38

15 ภาษา 532 ไบต์

# ;"!audnuM oxiaK">:#,_@R"Hej Verden!";;@,kb"Tere maailm!";# w"!amliaam ieH"ck,@oooooooooo"Hai dunia!"
`true #{puts'Hola món!'}` \
__END__
"Hola Mundo!" puts
case `ps -p$$ -oargs=` in \
b*)echo Hallo Welt!;;k*)echo Ndewo Ụwa!;;d*)echo Ciao mondo!;;z*)echo Moien Welt!;;a*)echo Hei Verden!;;esac
true; 
#xx
#x%"Olá Mundo!"x
#xx+++[++[<+++>->+++<]>+++++++]<<<--.<.<--..<<---.<+++.<+.>>.>+.>.>-.<<<<+.
   	  	   
	
     		  	 	
	
     		 		  
	
     		 				
	
     	     
	
     	    	 
	
     				  	
	
     		  	  
	
     	    	
	
  

ลองออนไลน์!

  1. Kaixo Mundua! ใน Befunge-93
  2. Hej Verden! ในฟิชชัน
  3. Tere maailm! ใน Unefunge-98
  4. Hei maailma!! ใน Befunge-98
  5. Hai dunia! ใน> <>
  6. Hola món! ในทับทิม
  7. Hola Mundo! ใน GolfScript
  8. Hallo Welt! ในทุบตี
  9. Ndewo Ụwa! ใน ksh
  10. Ciao mondo! ในรีบ
  11. Moien Welt! ใน zsh
  12. Hei Verden! ในเถ้า
  13. Olá Mundo! ในพระคาร์ดินัล
  14. Hello World!ใน brainfuck, มารยาทของพรีโม่
  15. Helo Byd! ในช่องว่าง

คำอธิบาย

บรรทัดที่ 1 แยกความแตกต่างระหว่างสอง esolangs 2D:

  1. ><>อ่าน#เป็นกระจกล้อมรอบไปทางซ้ายพิมพ์"Hai dunia!"และขัดข้อง ( @) เชื้อราทั้งหมดอ่านว่าเป็นแทรมโพลีนและไปทางขวา
  2. Befunge-93 จะไม่สนใจ;พิมพ์Kaixo Mundua!และออก ( @)
  3. '98 Funges กระโดดจากที่หนึ่ง;ไปที่สองจากนั้นจากที่สาม;ไปที่สี่ wเป็น NOP สำหรับ Befunge-98, Hei maailma!การพิมพ์
  4. แต่wสะท้อนให้เห็นถึงตัวชี้การเรียนการสอนใน Unefunge-98, Tere maailm!การพิมพ์
  5. ฟิชชันไม่ได้เริ่มที่มุมบนซ้ายเลย R"Hej Verden!";ถูกประหารชีวิต (ตัวชี้สอนอีกเริ่มจากDใน__END__แต่มันไม่ทำอะไรเลยแล้วตายไป;ในtrue;.)

ทับทิมเห็นแล้ว`true #{puts'Hola món!'}`__END__

GolfScript เห็น`แล้วtrue(NOP) จากนั้นแสดงความคิดเห็น จากนั้น__END__(NOP); จากนั้น"Hola Mundo!" puts(ถูกดำเนินการ); ตามด้วยcase(NOP) จากนั้น`(เกิดปัญหากับสแต็กเปล่า)

เชลล์เห็นความคิดเห็นจากนั้นเรียกใช้ไปที่true(NOP) จากนั้นเรียกใช้คำสั่งที่ไม่รู้จัก__END__และ"Hola Mundo!"(ซึ่งข้อผิดพลาดใด ๆ กับ STDERR แต่การดำเนินการต่อไป) จากนั้นcaseคำสั่งที่แยกตามตัวอักษรตัวแรกของชื่อกระบวนการปัจจุบัน

พระคาร์ดินัลเป็นอีโซแลง 2D อีกรูปแบบหนึ่งซึ่งเริ่มต้นที่การ%ส่ง IP 4 ขึ้นลงซ้ายซ้ายและขวา พวกมันถูกฆ่าโดยxคำสั่งที่อยู่โดยรอบ"Olá Mundo!"ก่อนตาย

รหัส brainfuck เป็นพรีโม่ของหน้าด้วยการต่อสู้กับขีดกลางใน++ps -p$$ -oargs=

ช่องว่างในรหัสของฉันถูกเรียกใช้งานเป็นโปรแกรม Whitespace

 push 0
 push 0
label_0:
 push 0
 push 0
 drop
 drop
 push 72; printc
 push 101; printc
 push 108; printc
 push 111; printc
 push 32; printc
 push 66; printc
 push 121; printc
 push 100; printc
 push 33; printc

ซึ่งพิมพ์ Helo Byd!

แก้ไข : ฉันลืมไปว่าการเพิ่มUDLRตัวละครทำให้โปรแกรมฟิชชันแตกดังนั้นฉันจึงเปลี่ยนสตริงขึ้นเพื่อหลีกเลี่ยงสิ่งเหล่านี้


1
ฉันจะรับคุณเร็ว ๆ นี้
Zacharý

1
ฉันคิดว่าฉันยอมแพ้ตอนนี้คุณทำงานได้อย่างน่าอัศจรรย์
Zacharý

ฉันรู้สึกแย่เล็กน้อยเพราะวิธีแก้ปัญหาของคุณมีภาษาที่โต้ตอบด้วยวิธีที่น่าสนใจกว่ามาก! ฉันแค่เพิ่มคำตอบ“ 5 หอย” ด้วย esolangs ที่ง่ายต่อการพูดได้หลายภาษากับคนอื่น…>. <;
ลินน์

1
ทีนี้ถ้าใครสามารถพูดได้หลายภาษากับDฉันจะอยู่ในความกลัวตลอดไป ( #defineไม่ใช่สิ่งใน D ... ที่เข้าประชิดหลายอย่าง) นอกจากนี้ฉันต้องเรียนรู้ที่ว่าง
Zacharý

1
โอ้ตอนนี้มีตัวอักษรตัวพิมพ์ใหญ่เพิ่มเติมฉันเห็น ฉันจะแก้ไขมันด้วยการเลือก Hello World ที่แตกต่างกัน
ลินน์


12

7 ภาษา, 221 ไบต์

<?php echo'مرحبا بالعالم!';die?>h+#;"!dlereW ollaH"ck,@;
;echo Kaixo Mundua!;                        <@,k+4f"ሰላም ልዑል!"

Բարեւ աշխարհ!
@,k+4f"Përshendetje Botë!";XXXX;"Hello Wêreld!"

เนื่องจากโปรแกรมนี้มีอักขระที่น่ารังเกียจบางส่วนนี่คือ xxd:

00000000: 3c3f 7068 7020 6563 686f 27d9 85d8 b1d8  <?php echo'.....
00000010: add8 a8d8 a720 d8a8 d8a7 d984 d8b9 d8a7  ..... ..........
00000020: d984 d985 2127 3b64 6965 3f3e 682b 233b  ....!';die?>h+#;
00000030: 2221 646c 6572 6557 206f 6c6c 6148 2263  "!dlereW ollaH"c
00000040: 6b2c 403b 0a0c 3b65 6368 6f20 4b61 6978  k,@;..;echo Kaix
00000050: 6f20 4d75 6e64 7561 213b 2020 2020 2020  o Mundua !;
00000060: 2020 2020 2020 2020 2020 2020 2020 2020
00000070: 2020 3c40 2c6b 2b34 6622 e188 b0e1 888b    <@,k+4f"......
00000080: e188 9d20 e188 8de1 8b91 e188 8d21 220a  ... .........!".
00000090: 0ad4 b2d5 a1d6 80d5 a5d6 8220 d5a1 d5b7  ........... ....
000000a0: d5ad d5a1 d680 d5b0 210a 402c 6b2b 3466  ........!.@,k+4f
000000b0: 2250 c3ab 7273 6865 6e64 6574 6a65 2042  "P..rshendetje B
000000c0: 6f74 c3ab 2122 3b58 5858 583b 2248 656c  ot..!";XXXX;"Hel
000000d0: 6c6f 2057 c3aa 7265 6c64 2122 0a         lo W..reld!".

ทำไมไม่<?='مرحبا بالعالم!';die?>? มันใช้งานได้กับ PHP (เป็นหลักเหมือนกับ<?php echo ... ?>),
Ismael Miguel

@IsmaelMiguel เพราะฉันลืมเกี่ยวกับคุณลักษณะนั้น ... ง่ายเหมือนนั้น
NieDzejkob

9

5 ภาษา, 168 ไบต์

  //"!nedreV jeH",,,,,,,,,,,@R"Hello World!"*#x
///"!mliaam ereT">:?v; x"!dyB oleH"           %x
//               ^ o<                         x
// >`Sawubona Mhlaba!`;

ฉันคิดว่าภาษาสองมิติน่าสนใจ

> <> พิมพ์Tere maailm!
Befunge-98 พิมพ์Hej Verden!
ขี้ผึ้งพิมพ์Sawubona Mhlaba!
พระคาร์ดินัลพิมพ์Helo Byd!
พิมพ์ฟิชชั่นHello World!

ลองออนไลน์! (พระคาร์ดินัล)


2
ฉันเห็นศักยภาพที่ดีที่นี่เนื่องจาก//มีความคิดเห็นในหลายภาษา
Zacharý

@ Zacharýนั่นเป็นเหตุผลเดียวที่พวกเขาส่วนใหญ่อยู่ที่นั่น ตอนนี้ทั้งสองถูกใช้สำหรับ> <> และอีกอันสำหรับขี้ผึ้ง คนที่อยู่ในสองคอลัมน์แรกไม่ได้ทำอะไรเลย
KSmarts

คุณสามารถอธิบายขั้นตอนการควบคุมของขี้ผึ้งได้หรือไม่? ฉันต้องการดูว่าเหมาะสำหรับความท้าทายนี้หรือไม่
Potato44

@ Potato44 มันเป็นภาษา 2 มิติที่ตีความรหัสเป็นตารางหกเหลี่ยมที่ถูกล้อมรอบดังนั้นพอยน์เตอร์จึงสามารถเคลื่อนที่ใน 6 ทิศทาง ผึ้ง (พอยน์เตอร์) วางไข่โดยตัวละคร*/\_และสามารถเปลี่ยนเส้นทางในทิศทางคงที่หรือโดยมิเรอร์หรือการหมุน ดูที่นี่สำหรับข้อมูลเพิ่มเติม
KSmarts

คุณสามารถตัดมันทีละ 1 ไบต์ได้เพราะในส่วนของขี้ผึ้ง;หลังจากที่แบ็คทิคที่สองไม่จำเป็น ผึ้งวิ่งออกจากรังผึ้งไปทางขวา
ML

7

2 ภาษา 16 ตัวอักษร 24 ไบต์

อย่างน้อยก็สั้นกว่าทั้งสองสตริง

L"שלום עולם"33ç«

05AB1E -שלום עולם!

ช่วยเหลือ WarDoq! -Hello World!

ช่วยเหลือ WarDoq! สามารถเพิ่มตัวเลขสองตัวและทดสอบเฉพาะช่วงเวลาดังนั้นจึงถือว่าเป็นภาษาการเขียนโปรแกรมที่ถูกต้องต่อเมตาโพสต์นี้


IIRC พวกเขาไม่ใช่หนึ่งไบต์ใน 05AB1E เป็นเพียงข้อ จำกัด ของ TIO \
Zacharý

@ Zacharýคุณแน่ใจหรือไม่ ฉันรู้ว่าตัวอักษรภาษาฮิบรูมีขนาด 1 ไบต์ในการเข้ารหัสบางอย่าง อาจมีการทับซ้อนรหัสถ่าน
Uriel

คุณเห็นฮิบรูที่นี่ไหม?
Zacharý

@ Zachary คงที่ (ผมคิดว่าจะทำให้ 24 bytes)
ยูเรียล

6

3 ภาษา67 62 ไบต์

เพื่อให้มีคุณสมบัติ รางวัลนี้ (100 ตัวแทน)

x:Helo Byd!
O
y:"Hai dunia!"
u?`h;`4$'5^5D+Asi:^:E+IvIvAB*vhm,

เพิ่ม ++: ลองออนไลน์!

foo: ลองออนไลน์!

ซอมม์: ลองออนไลน์!

คำอธิบาย

เพิ่ม ++

เพิ่ม ++ การดู:

x:Helo Byd!
O

"เอาท์พุทxสตริง 's"

y:"Hai dunia!"

"ตั้งค่า y เป็นสตริงอื่น"

u?`h;`4$'5^5D+Asi:^:E+IvIvAB*vhm,

"idk บางอย่างแปลก ๆ ฉันจะผิดพลาด"

ฟู

ฟูเห็น:

x:Helo Byd!
O
y:"Hai dunia!"

"Oo คำพูดฉันจะเอาท์พุทพวกนั้น"

u?`h;`4$'5^5D+Asi:^:E+IvIvAB*vhm,

"เอ่อ ... บางอย่างเกี่ยวกับโหมด? Idk ฉันจะผิดพลาด"

ซอมม์

ซอมม์เห็นดีสิ่งนี้:

8s+vi:4+vhIvE-Asi:^:E+IvIvAB*vhm,

ทุกคอลัมน์จะถูกแปลงเป็นคะแนนรหัสจากนั้น 32 จะถูกลบออกจากพวกเขาแล้วแต่ละคนจะถูกนำแบบโมดูโล 95 ซึ่งสอดคล้องกับตัวละครเหล่านี้ซึ่งพิมพ์ "Hei Verden!"


สัปดาห์นี้ขึ้นและคุณเป็นคำตอบที่สั้นที่สุด (และเท่านั้น) ที่แข่งขันกันขอแสดงความยินดีกับเงินรางวัล!
caird coinheringaahing

@cairdcoinheringaahing ขอบคุณ! : D
Conor O'Brien

5

4 ภาษา, 138 ไบต์

''' '/*' '''
print(["Bonjour monde!","Hei maailma!","Hallo Wereld!"][((int(not 0)is 1)+2*int(1/2==0))-1])
''' '*/print("Hallo Welt!")' '''

ลองออนไลน์!

Py1, Py2, Py3, Proton; ขอบคุณ Mr. Xcoder; แปลจากคำตอบของZacharý


4 ภาษา (Proton, Py1, Py2, Py3) แรงบันดาลใจจากคำตอบ Zachary
Mr. Xcoder

@ Mr.Xcoder โอ้เยี่ยมมากขอบคุณ!
HyperNeutrino

4

4 ภาษา 115 ไบต์

print ((("b" + "0" == 0)and eval('"Hallo Wereld!"'))or(0 and"Hello World!"or(1/2and"Hei Verden!"or"Hej Verden!")));

Perl 5 ให้Hallo Wereld!- TIO

Ruby ให้Hello World!- TIO

Python 2 มอบให้Hej Verden!- TIO

Python 3 มอบHei Verden!- TIO


107 bytes -print (((“b”+”0"==0)and eval('"Hallo Wereld!"'))or(0and"Hello World!”or((1/2and"Hei"or"Hej")+" Verden!")));
Jollywatt

4

สี่ภาษาขนาด 650 ไบต์ที่ใหญ่โต

//iiciccepepceaiiiaiaiaicccsascciijceeeeeejccijjccjceaajaajcccjeeejaajaaijcccej
//[
/*
GOTO end
*/
//pis
//p
//p
//\u000Apublic class Main{public static void main(String[]a){System.out.print("Salut Lume!");}}
/*
lblend
print Hola Mundo!
//s
*/
//]
//s
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++.--------.++++++++++++++.-------------------------------------------------------------------------------.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.++.-.----------.+++++++++++.------------------------------------------------------------------------------.

Java ให้ "Salut Lume!" ลองมัน!

SILOS มอบ "Hola Mundo" ให้ลอง!

Brainfuck ให้ "Ciao mondo!" ลองมัน!

(รหัสตัวอักษรถูกปรับเปลี่ยนจากหน้าEsolangsบนAlphuck )

Alphuck มอบ "Hello World!" ลองมัน!

บรรทัดที่เริ่มต้น \ u000A คือโค้ด Java รหัสในบรรทัดแรกคือรหัส Alphuck ซึ่งจะไม่สนใจรหัสที่เหลือ (ตราบเท่าที่ "p" และ "s" มีความสมดุลบรรทัดที่เกี่ยวข้องสำหรับ SIL / SILOS คือ "print Hola Mundo" และรหัส brainfuck อยู่ท้ายและจะไม่สนใจรหัสที่เหลือ


1
ฉันคิดว่าคุณสามารถตี BF โค้ดโดยใช้ค่าคงที่ที่ระบุในหน้านี้และเทคนิคที่ใช้ในนั้น
โคล

@ คูลฉันพยายามลองดูรหัส bf อีกครั้งเมื่อฉันมีเวลามากขึ้นในการปรับให้เหมาะสม โดยพื้นฐานแล้วฉันคิดว่ามันไม่เพียงพอที่จะใช้ค่าคงที่ฉันจะต้องกำหนดความสัมพันธ์ที่เกิดซ้ำ
Rohan Jhunjhunwala

1
78 สำหรับ 'Ciao mondo!': +>++>+>+++[+++++[>+++++++++++>++++<<-]+++<]>>--.>+.>.>-.>.<--.++.-.<+++.>+.>+.ใช้ลำดับไบต์ [69, 104, 97, 112, 32]
primo

4

5 ภาษา, 213 ไบต์

ฉันตัดสินใจลองเขียนคำตอบเล็ก ๆ

#include<stdio.h>
#define hint(x)int main(){auto i=.5;puts(i?"Hallo Welt!":"Hei maailma!");}
#define R "Pozdrav svijete!";
#if 0
hint=print
goto=len
s="Tere maailm!"
goto("endif")
s="Hallo Wereld!";
#endif
hint(s)

ภาษา:

C:                                       Hei maailma!      (Finnish)
C++:                                     Hallo Welt!       (German)
Python 3:                                Hallo Wereld!     (Dutch)
Operation Flashpoint scripting language: Tere maailm!      (Estonian)
Fission:                                 Pozdrav svijete!  (Croatian)

C และ C ++ ดูรหัสดังนี้:

#include<stdio.h>
#define hint(x)int main(){auto i=.5;puts(i?"Hallo Welt!":"Hei maailma!");}
#define R "Pozdrav svijete!"; // Unused macro
hint(s)

auto i=.5;คือ (มีผลบังคับใช้) เท่ากับint i=0;ใน C แต่เท่ากับdouble i=0.5;ใน C ++

ลองออนไลน์! (เป็น C)

ลองออนไลน์! (เป็น C ++)

Python 3 เห็นรหัสเป็น:

hint=print
goto=len
s="Tere maailm!"
goto("endif")         # Calculate string length and discard the result.
s="Hallo Wereld!"
hint(s)

ลองออนไลน์!

OFPภาษาสคริปต์เห็น:

; (A semicolon at the beginning of a line comments the line in a script.)

; Four labels with strange names.
#include<stdio.h>
#define hint(x)int main(){auto i=.5;puts(i?"Hallo Welt!":"Hei maailma!");}
#define R "Pozdrav svijete!";
#if 0

; Assign a null value to "hint", no practical effect. Same for "goto".
hint=print
goto=len

; Assign the string to variable "s".
; I would like to have used the Czech phrase for OFP (because it's a Czech game),
; but it didn't recognize the 'ě' and printed a '?' instead.
s="Tere maailm!"

; Jump to label "endif".
goto("endif")

; This reassignment of "s" gets skipped.
s="Hallo Wereld!";

; Declare a label called "endif".
#endif

; Print the string "s".
hint(s)

ฟิชชันเห็นว่า:

R "Pozdrav svijete!";

ลองออนไลน์!


2

3 ภาษา 184 181 ไบต์

ใช้งานได้เพียงครั้งเดียว - คุณต้องล้างรายการเพื่อให้ทำงานได้อีกครั้ง

when gf clicked
add<[]=[]>to[c v
if<(join(item(1 v)of[c v])[d])=[1d
say[Helo Byd!
else
repeat(300000
add[]to[c v
end
if<(length of[c v])>[250000
say[Hello world!
else
say[Hai dunia!

รอยขีดข่วน 1.4: Helo Byd!

รอยขีดข่วน 2.0: Hello world!

Scratch 3.0 beta ณ เวลาที่ตอบคำถามนี้: Hai dunia!

คำอธิบาย

ใน Scratch 1.4 การเพิ่มบูลีนในรายการจะเพิ่ม1หรือ0แต่ใน 2.0 และสูงกว่านั้นจะเพิ่มtrueหรือfalseแต่เมื่อตรวจสอบว่ารายการเท่ากับ1<[] = []> มันจะกลับมาจริงถ้ารายการนั้นเป็น1หรือtrueดังนั้นเราจึงเพิ่มจดหมายอีกฉบับลงไปและตรวจสอบ

ใน Scratch 3.0 รายการมีขนาดสูงสุด 200,000 รายการดังนั้นเราเพียงเพิ่มรายการจำนวนมากและดูว่ารายการนั้นมีความยาวหรือไม่


1

3 ภาษา 61 ไบต์

;“,ḷṅḳȦ»Ḋḷ“
x:Hai dunia!
O
y:"Helo Byd!"
;”

เพิ่มเอาท์พุท++Hai dunia!

เยลลี่เอาท์พุทHello World!

ฟูผลลัพธ์Helo Byd!

เพียงเพราะฉันตั้งค่าเงินรางวัลไม่ได้หมายความว่าฉันไม่สามารถมีส่วนร่วม: D (ab) ใช้เคล็ดลับการตั้งค่าสตริงที่ยอดเยี่ยมที่Conor พบสำหรับเพิ่ม ++

มันทำงานอย่างไร

เพิ่ม ++

;“,ḷṅḳȦ»Ḋḷ“     ; A comment. This does nothing
x:Hai dunia!    ; Set the x accumulator to the string "Hai dunia!"
O               ; Output x
y:"Helo Byd!"   ; Set the y accumulator to the string "Helo Byd!"
;”              ; Another comment

วุ้น

ความคิดเห็นในเจลลี่สามารถเกิดขึ้นได้ด้วยไวยากรณ์ḷ“comment”ซึ่งเป็นวิธีการที่ละเว้นรหัสเพิ่ม ++ และฟู รหัสที่ถูกใช้งานจริงโดย Jelly คือ

;“,ḷṅḳȦ»Ḋ - Main link. Arguments: None
 “,ḷṅḳȦ»  - Yield the string "Hello World!"
;         - Append 0, yielding "0Hello World!"
        Ḋ - Remove the first character, yielding "Hello World!"

ฟู

ฟูมองข้ามตัวละครทุกตัวที่นี่นอกเหนือจาก"Helo Byd!"ที่แสดงในเครื่องหมายคำพูด

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