Witaj świecie! z ograniczonym powtarzaniem postaci

79

W wybranym języku napisz program, który dokładnie wypisuje znaki, Hello world!po których następuje nowa linia. Kod:

  • nie powinien używać żadnego znaku więcej niż dwa razy (alfanumeryczny, symbol, białe znaki ... cokolwiek)
  • nie powinien używać żadnych zasobów zewnętrznych
  • nie powinien używać żadnych danych wejściowych użytkownika
  • nie powinien wypisywać niczego innego

Przykład prawidłowego programu w języku Python:

print("He%so world!"%(2*'l'))

Przykład nieprawidłowego programu python (znak „r” jest używany trzy razy):

print("Hel"+chr(108)+'o world!')

Zwycięzcą jest ten, kto ma najwięcej głosów po 14 dniach.

EDYCJA: Wybrano zwycięzcę! Dziękujemy wszystkim za pracę nad tym pytaniem!

Josh
źródło
25
Co z powtarzającą się literą o w „prawidłowym” przykładzie Pythona. Są też: - „” ()
Adam Speight
15
@AdamSpeight co masz na myśli? Litera jest używana tylko dwukrotnie, zgodnie ze specyfikacją.
Josh
5
@AdamSpeight ... który jest dosłownie taki sam.
VisioN
4
Myślę, że masz na myśli, że postać nie powinna pojawić się więcej niż dwa razy, to znaczy nie powinna być powtarzana więcej niż raz.
Michael Kay
56
Chyba brainfuck jest wykluczone ...
jub0bs

Odpowiedzi:

61

Rubin (1.9+)

Ponieważ jest to konkurs popularności, starajmy się nie używać ŻADNEJ postaci z „Hello world!” wciąż wykorzystując inne postacie maksymalnie dwa razy:

puts("S\107VsbG8gV29ybGQhCg".unpack(?m))

To 40 znaków btw.

Grzmotnąć

A ten wykorzystuje magię Unicode.

Uwagi:

  • Podczas gdy znaki orignalne pojawiają się gdzie indziej (w przeciwieństwie do rubinowego przykładu), drukowany ciąg zawiera tylko znaki inne niż ascii.
  • Dwie z trzech spacji to tak naprawdę tabulatory, więc nie ma znaków utf-8, które pojawiają się więcej niż 2 razy
  • Ponieważ binarnie niektóre oktety pojawiają się więcej niż 2 razy, mam nadzieję, że nie jest to niezgodne z regułami. Próbuję je jednak rozwiązać.

Kod:

echo '𝓗𝐞𝑙𝒍𝓸 𝓦𝗈𝖗𝖑𝘥¡'|iconv -t  asCIi//TRANSLIT

Dla tych, którzy nie mają zainstalowanej właściwej czcionki, wygląda to tak:

kod jako obraz

Oto zrzut heksowy:

00000000  65 63 68 6f 20 27 f0 9d  93 97 f0 9d 90 9e f0 9d  |echo '..........|
00000010  91 99 f0 9d 92 8d f0 9d  93 b8 e2 80 8a f0 9d 93  |................|
00000020  a6 f0 9d 97 88 f0 9d 96  97 f0 9d 96 91 f0 9d 98  |................|
00000030  a5 c2 a1 27 7c 69 63 6f  6e 76 09 2d 74 09 61 73  |...'|iconv.-t.as|
00000040  43 49 69 2f 2f 54 52 41  4e 53 4c 49 54 0a        |CIi//TRANSLIT.|
0000004e

Musisz uruchomić go na komputerze, na którym domyślnym zestawem znaków jest utf-8. Próbowałem na OSX10.8 przy użyciu iTerm2 w następującym środowisku:

bash działający w iTerm2

PHP 5.4

Używa zLib: (niestety używa znaków ei o)

<?=gzuncompress('x▒▒H▒▒▒W(▒/▒IQ▒!qh');

Hexdump:

00000000  3c 3f 3d 67 7a 75 6e 63  6f 6d 70 72 65 73 73 28  |<?=gzuncompress(|
00000010  27 78 9c f3 48 cd c9 c9  57 28 cf 2f ca 49 51 e4  |'x..H...W(./.IQ.|
00000020  02 00 21 71 04 68 27 29  3b                       |..!q.h');|
00000029

+1

Oto kod Ruby 2.0, którego użyłem do testowania duplikatów:

d=ARGF.read
p [d.split(//),d.unpack('C*')].map{|x|x.inject(Hash.new(0)){|i,s|i[s]+=1;i}.select{|k,v|v>2}}
Sztuczki
źródło
2
Chociaż zawsze doceniam sprytność w Unicode, twoja próba bash wydaje się nie spełniać specyfikacji pytania. „napisz program, który dokładnie wypisuje znaki, Hello world!po których następuje nowa linia”
FireFly
14
@FireFly: spełnia to. iconv z docelowym kodowaniem ascii//translitspowoduje transliterację znaków Unicode na podstawowe ascii. I oczywiście echo doda nowy wiersz, więc ten pasuje do specyfikacji (jeśli nie rozważymy podobieństwa oktetów)
SztupY
5
W moim systemie dostaję Hello World?zamiastHello World!
marinus
1
@SztupY och, masz rację, mój zły. Bardzo sprytne, podoba mi się!
FireFly,
1
Ile punktów bonusowych uzyskałbyś, gdyby Twój moduł sprawdzania duplikatów był zgodny z powtarzającą się specyfikacją? :-)
corsiKa
55

Musisz używać bardziej wyrazistych języków.

Chiński,  6 4   3 znaki

喂世!

Uruchamianie google translate na tym produkuje Hello world!

(dzięki @sreservoir i @Quincunx za aktualizację)

Tomas
źródło
33
+1 za zginanie reguł ... „W wybranym języku ...”
WallyWest,
4
Kocham to. Ale jak dokładnie to jest program?
Pierre Arlaud,
3
Właściwie możesz na to patrzeć jako program w języku tłumaczącym google - dla chińskiego jako jego podjęzyka :)
Tomas
2
+1. Dobry pomysł. 世界 = Shì jiè = Świat. 你好 = nǐ hǎo = Cześć. „Świat, cześć!” tłumaczy się na „Hello World!”. Można go jeszcze pograć w golfa:你好世!
Justin
2
można grać w golfa 喂世!kosztem ... no cóż, nic więcej nie jest wydawane.
muhmuhten
45

HQ9 +, 1 znak

H

to proste :)

le_vine
źródło
7
HQ9 + wyświetla przecinek;)
Josh
8
Nadal trzymam twoją odpowiedź na zewnątrz ... w końcu to konkurs popularności, zasady są dla wiatru!
Josh
26
@Josh To jedno z rzadkich wydarzeń, w których brakuje mi przycisku „downvote” w komentarzach. Jeśli wyrzucimy zasady, nie ma już nic, co by uzasadniało konkurs.
Howard
5
@Jak czuję się brudny. Głosowałem za komentarzem twojego i Josha
Cruncher
22
Wszystkie print Hello Worldpytania są w rzeczywistości who can submit a HQ9+ answer fasterpytaniami.
totymedli
44

C, 192 znaki

#
#
/*$$@``*/ATION_[]={9.};main(BBCDDEEFFGGHJJKKLLMMPPQQRRSSUUVVWWXXYYZZabbdefgghhjjkkmpqqsstuuvvwxyyzz) {printf("He%clo \
world!%c\
",2^7&!8.&~1|~-1?4|5?0x6C:48:6<3>2>=3<++ATION_[0],'@'^79-5);}

Ponieważ to nie jest golf, postanowiłem się zabawić i spróbować użyć każdej postaci dokładnie dwa razy (jednocześnie umieszczając jak najmniej w komentarzu, ponieważ to jest nudne). Zdaję sobie sprawę, że nie spisałem się zbyt dobrze, ponieważ mój kod zawiera również mnóstwo nudnych „martwych” kodów (nie w dosłownym sensie, ale w sensie znaków zastępczych używanych tylko w celu spełnienia wymagań). W każdym razie było to zaskakująco trudne (ale zabawne) z ograniczeniem dwóch znaków, więc niestety nie mogłem wymyślić nic bardziej interesującego. To dało mi pomysł na nowy problem ...

(Zaktualizowano w komentarzu @ ugoren).

Robaczek świętojański
źródło
3
Kreatywnie imponujący. Lubię to.
Josh
Końcowe linie trzy i czwarte ukośnika sprawiają, że jest to kontynuacja linii, a nie nowa linia. Linia czwarta jest zakończona przez EOF, co czyni ją legalną.
Josh
1
Myślę, że możesz łatwo odkomentować ., używając go do ułamków. Możesz także zadeklarować tablicę i użyć [].
ugoren
@ugoren dobry telefon na temat .; Myślałem tylko o użyciu go do dostępu do struktury. <s> Jeśli chodzi o deklaracje tablicowe, nie mam ,s z powodu printfwywołania, a także jestem poza ;s, więc nie jestem pewien, jak mógłbym zadeklarować jedną. </s> Mogę zastąpić ATION_. ..
FireFly,
44

Polecenie Vima (18 naciśnięć klawiszy)

iHeEsc3alEscio WorRightd!Enter

Nie powtarza żadnego naciśnięcia klawisza więcej niż dwa razy.

To trochę narusza zasadę „Wejście użytkownika”, ponieważ jest to wciąż ten użytkownik, który potrzebuje do wejścia tej sekwencji, ale przypuszczam, że jeśli przechowywać go jako makro lub nnoremap wcześniej byłoby liczyć, ponieważ jesteś po prostu działa bez jawnie robić dowolny wkład, aby tak się stało.

Wymaga nocompatibleto również ustawienia, które można zaliczyć do korzystania z zasobów zewnętrznych, dlatego podałem kolejną odmianę poniżej:


Polecenie Vima (21 naciśnięć klawiszy)

iHeEsc3alEscio WorCtrl+[$ad!Enter

Ta odmiana nie musi nocompatiblebyć ustawiona, chociaż działa około Esctrzy razy, używając Ctrl+[jej na swoim miejscu.

Joe Z.
źródło
16
Jeśli mówimy o bohaterów Right, Escoraz Enter, że nie są dosłownie te znaki. Vim zajmuje się naciśnięciami klawiszy, które uważam za równoważne z postaciami na potrzeby tego konkursu (i regułą „nie powtarzaj więcej niż dwa razy”). Używam tylko idwa razy, a <Right>jeden raz. Co do tego E, nigdy go nie używam - ale używam <Esc>dwa razy i <Enter>raz.
Joe Z.
6
Teraz jestem rozczarowany, że Emacs nie ma komendy Mx hello-world ...
RemcoGerlich,
4
Nawet jeśli tak, to trzy lsekundy.
Joe Z.
1
Powinieneś pamiętać, że musisz :set nocompatible.
jazzpi
1
Niesamowite, ale ja sam Rightnie używam vim-y.
gefei
29

Piet-- Żadnych postaci!

Witaj świecie w Piet

Podejście do ciemności
źródło
7
Uznałbym te kody za „znaki”.
Paŭlo Ebermann
3
@ PaŭloEbermann Co uważasz za unikalny kod? EG różne kształty? zabarwienie? rozmiary? jakaś ich kombinacja?
ApproachingDarknessFish
1
@ValekHalfHeart definicja unikalnego kodeksu jest podana w specyfikacji języka : jest to blok kodu, który można uprościć jako pojedynczy kolorowy piksel.
plannapus
@plannapus W takim przypadku nie sądzę, że to wyzwanie jest technicznie możliwe w Piet. Mogę jednak wymyślić coś kreatywnego.
ApproachingDarknessFish
@ValekHalfHeart oh, to nie była krytyka tej odpowiedzi: uwielbiam to! W każdym razie to wyzwanie nie było kodegolfem.
plannapus
26

Perl, 29 znaków

Ta odpowiedź obejmuje drewniaki z oceną X!

say"07-8*d<#B+>!"^xRATEDkL0GZ

Perl, 23 znaki

Krótsze, ale bez butów porno. :-( Jednak ten sam podstawowy pomysł ...

say'0@@lo World!'^"x%,"

Perl, 20 znaków

Nudny...

say"Hello Wor\x6Cd!"
Tobyink
źródło
7
Um .... perwersyjne? +1 :)
Josh
23

PowerShell, 20

"He$('l'*2)o world!"
Danko Durbić
źródło
19

Sclipting , 11 znaków

丟낆녬닆묬긅덯댦롤긐뤊

Widziałem ten piękny program HelloWorld na liście programów Hello World firmy esolang .

Quincunx
źródło
5
Zaraz! Gratulacje, jesteś pierwszą osobą, która opublikowała cokolwiek na temat moich esolangów poza esolangs.org :) (lub przynajmniej pierwsza, o której dowiedziałam się)
Timwi
18

Scala: 34 29 znaków

Jestem z siebie dumny z tego:

printf("He%c%co world!\n",108,108)

Naprawdę ciężko mi było pokonać duplikaty „l”, „r”, cudzysłowów i nawiasów. Potem odkryłem starą printffunkcję Java , która z radością konwertuje liczby na litery, gdy otrzyma specyfikator %cformatu.

Aktualizacja

MrWonderful zrobił cudowną rzecz, wskazując, że można uratować całą masę znaków, używając ręcznie mojego drugiego „l” w ciągu!

printf("Hel%co world!\n",108)
KChaloux
źródło
4
@KCaloux, skoro wolno ci do 2 l, czy printf („Hel% co world \ n”, 108) przy 28 nie byłby jeszcze lepszy?
MrWonderful
@MrWonderful Myślę, że masz absolutną rację! (Właśnie zdałem sobie sprawę, że zapomniałem dołączyć „!”)
KChaloux
Z tego, co rozumiem, nie jest to prawidłowy wpis, choć dobra próba. printfzawiera rco robi world. To samo dotyczy litery, októra jest używana więcej niż raz. Jest to oparte na mojej interpretacji następującej instrukcji OP: „Przykład niepoprawnego programu python (znak„ r ”jest używany trzy razy): print("Hel"+chr(108)+'o world!')
javatarz
@JAnderton Miałem program ruby ​​analizujący mój skrypt, aby upewnić się, że znaki nie są uwzględnione więcej niż dwa razy. Przeczytaj to ponownie. Są 2 rs, a nie 3. Jeden w „printf” i jeden w „world”. Powodem, dla którego python jest nieprawidłowy, jest to, że zawierachr
KChaloux
16

Python 3 [38 bajtów]

exec('import '+chr(95)*2+"h\x65llo__")

Nie uważałbym go za import __hello__zasób zewnętrzny.

Wizja
źródło
15

Perl: 34 znaków

$_="He12o wor3d!
";s{\d}{l}g;print

Przykładowy przebieg:

bash-4.1# perl -e '$_="He12o wor3d!
> ";s{\d}{l}g;print'
Hello world!

(Nie jest to wielka sprawa. Wysłany po to, by przynajmniej raz w życiu użyć s///tych fantazyjnych ograniczników.)

człowiek w pracy
źródło
15

PHP, 33 znaki

Uwielbiam, jak wiele PHP wybacza i rozumie!

<?=Hel.str_rot13("yb jbe").'ld!';

Zanim został usunięty (lub jeśli nadal tam jest, jestem całkowicie ślepy), zobaczyłem komentarz „No brainf * ck?: D”. Jak wiadomo, rozwiązanie problemu w BrainF * ck jest prawie niemożliwe. Ale udało mi się to zakodować, tylko dla Lulz.

++++++++++[>++++>+++++>++++++>+++++++>++++++++++>+++++++++++>+++++++++<<<<<<<-]
>>>.+++.--.>++.>+.+++++++.<<<<++++++.>>>>>+++++.+.--.>+++++.<.---.+++++.<<<<-.+
+.<------.------.>>>>>+++++.<----------.<<<<--.>>>>++++++++.--------.+++.
<<<<++.+++++++.+++++.-------.>>>>+++++++.--------.<<<<------.++++++.>++++++++.

Jeśli nie masz interpretera BF, powyższy kod po prostu wypisuje kod PHP: P

Vereos
źródło
Nie wiedziałem, że nawet taki kod jest prawidłowy! Tag php nie jest zamknięty, a ciąg znaków Helnie jest otoczony cudzysłowami. Nigdy też o tym nie słyszałem str_rot13.
Aycan Yaşıt
1
@ AycanYaşıt zamykający tag php nie jest wymagany na EOF, a jeśli wstawisz ciąg bez cudzysłowów, to założymy, że jest to niezadeklarowana stała o tej samej treści co nazwa i daje ostrzeżenie
Einacio
1
Możesz uniknąć ostrzeżenia (i zapisać pierwsze .), umieszczając Helprzed nim <?=.
Paŭlo Ebermann
4
@ PaŭloEbermannHel<?=str_rot13("yb jbe")?>ld!
MirroredFate
2
@ PaŭloEbermann Powiedziałbym, że używanie tego jest jak oszustwo, ponieważ nie jest już czystym PHP.
Vereos
13

Fiddle HTML - 21 znaków

Hel&#108;o World!<br>
Briguy37
źródło
Czy to obejmuje końcowy znak nowej linii?
Josh
Doh ... nie spełnił tego wymogu! Dodam tam zdjęcie.
Briguy37
7
@netinept: Poprosił o nowy wiersz, a nie, \nwięc powiedziałbym, że się <br>liczy
Chris
1
Ale postać rjest powtarzana w rozwiązaniu. Czy źle zinterpretowałem wymagania?
javatarz
2
„l” i „o” też, ale każdej postaci można użyć maksymalnie dwa razy.
xem
12

Ruby: 27 znaków

puts [:Hel,'o wor',"d!"]*?l

Przykładowy przebieg:

bash-4.1# ruby <<ENDOFSCRIPT
> puts [:Hel,'o wor',"d!"]*?l
> ENDOFSCRIPT
Hello world!

Ruby: 25 znaków

(Na podstawie komentarza Vache.)

puts 'He'+?l*2+"o world!"

Ruby: 23 znaki

(Kopia odpowiedzi Powershell Danko Durbić .)

puts"He#{?l*2}o world!"
człowiek w pracy
źródło
puts 'He'+'l'*2+'o world!'jest o jedną postać krótszy!
dee-see
3
Ale ma 6 „” ”…
manatwork
haha Byłem tak skupiony na literach, że nigdy tego nie zauważyłem. nieważne!
dee-see
1
Po umieszczeniu usuń spację i zrób to 23. -puts"He#{?l*2}o world!"
Zero Fibre
1
@SampritiPanda, pzawiera cytaty w danych wyjściowych. Wolę ściśle przestrzegać wymaganego formatu wyjściowego. Ale masz rację, przestrzeń nie jest potrzebna. Dziękuję Ci.
manatwork
12

JavaScript, 66 znaków

alert('Hel'+window.atob("\x62G8gd29ybGQhCg=="));//rH+in.\x689yQhC;

Zainspirowany przez FireFly, każdy znak używany przez ten kod jest używany dokładnie dwa razy.

David Cary
źródło
Myślę, że możesz użyć niektórych postaci tylko raz i możesz zostawić komentarz.
John Dvorak
2
@JanDvorak - cóż, na pewno mógł to zrobić w ten sposób - ale myślę, że to rozwiązanie zasługuje na uznanie za czystą cholerną gotowość użycia każdej postaci dokładnie dwa razy. :-)
Bob Jarvis
6
+1, ale łatwo jest użyć każdej postaci dokładnie dwa razy, jeśli dodasz bełkot jako komentarz.
Camilo Martin
11

C - 43 znaków

main(){printf("Hel%co World!%c",'k'+1,10);}

Wynik

Hello World!

Liczy się charakter

' ' Count: 1    '!' Count: 1    '"' Count: 2    '%' Count: 2    ''' Count: 2
'(' Count: 2    ')' Count: 2    '+' Count: 1    ',' Count: 2    '0' Count: 1
'1' Count: 2    ';' Count: 1    'H' Count: 1    'W' Count: 1    'a' Count: 1
'c' Count: 2    'd' Count: 1    'e' Count: 1    'f' Count: 1    'i' Count: 2
'k' Count: 1    'l' Count: 2    'm' Count: 1    'n' Count: 2    'o' Count: 2
'p' Count: 1    'r' Count: 2    't' Count: 1    '{' Count: 1    '}' Count: 1
Kirk Backus
źródło
Nie potrzebujesz mainitp?
FireFly,
@FireFly Chyba tak! Mówi się, aby napisać program.
Kirk Backus
To jest C, ale nie C ++. C ++ nie ma niejawnej int (i nie możesz oszczędzić innej i).
Ben Voigt
@BenVoigt Okie dokie!
Kirk Backus
9

JavaScript [37 bajtów]

alert(atob("SGVsbG8g")+'wor\x6cd!\n')

Zbyt prymitywne, prawda?

Wizja
źródło
5
Gdzie jest nowa linia?
Christopher Creutzig
@ChristopherCreutzig Przepraszamy, zapomniałem. Teraz jest na swoim miejscu.
VisioN
9

nginx.conf

return  200 "He&#x6clo wo&#x72ld!\n";

W akcji:

% curl -6 http://localhost/ | lynx -dump -stdin
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    21  100    21    0     0  20958      0 --:--:-- --:--:-- --:--:-- 21000

   Hello world!

%
cnst
źródło
W tym rozwiązaniu są 4 spacje ...
Josh
3
@Josh, w rzeczywistości jest ich 5. Ale czy nie uważasz, że dwie z pierwszych czterech to tabulatory, a ostatnia to niezniszczalna spacja? :-)
cnst
To działa dla mnie!
Josh
@Josh, właściwie teraz, kiedy używamy HTMLa, nie ma już potrzeby set. Ma teraz tylko 3 spacje, z których każde może być tabulatorem!
cnst
Bardzo ładnie wykonane.
Josh
9

Emacs Command (15 klawiszy)

He<Ctrl-3>l<Left>o wor<End>d!<Enter>

Jeśli odpowiedzi tego vima są legalne, to też musi być :)

Żartuję, makro też może się stać :)

Pomijając więcej bzdur, pewnie mogę trochę więcej wycisnąć, ale na razie wydaje się to wystarczająco dobre (ponieważ bije vim).

PS, proszę zignoruj ​​wszystkie moje bzdury (ja (rzadko, ale) też używam vima!).

zw324
źródło
2
Nadal uważam, że vim> emacs.
Joe Z.
6

Befunge 98

a"!dlrow ol":'e'Hck,@

Oto wersja, w której każda postać pojawia się dwa razy.

bka!e:dw"H@!dlrow  ol":'e'Hbk,a,@

Pozostawia kupę śmieci na stosie.

Jako bonus, każda postać ma coś z tym zrobione przez IP.

Justin
źródło
6

Malbolge

(=<`#9]~6ZY32Vw/.R,+Op(L,+k#Gh&}Cdz@aw=;zyKw%ut4Uqp0/mlejihtfrHcbaC2^W\>Z,XW)UTSL53\HGFjW
Timtech
źródło
Niestety wydaje się, że drukuje się to Hello, world.zamiast Hello world!\n:( Wypróbuj online! Imponujące, ale nieważne.
DLosc
5

Właściwie to nie lubię oszukiwać: P

Pyton

print("!dlrow os%eH"[::-1]%('l'*2))
Czy byłem
źródło
2
Powinieneś określić, że to jest dla python2. W python3 otrzymujesz odwrócony ciąg jako wynik, a następnie a TypeError.
Bakuriu
1
Do użycia w Py3K argument drukowania musi być ujęty w nawiasy. print("!dlrow os%eH"[::-1]%('l'*2))działa w obu wersjach (Python2 i Py3K).
AMK
4

GolfScript

'He

o world!'n/"l"*

Zastępuje dwie nowe linie (na szczęście trzecia, potrzebna do zamiany, jest zapewniona przez wbudowane n), używając obu rodzajów literału ciągu, aby uniknąć czterokrotnych kopii znaku cudzysłowu. Ponieważ ljest to jedyny znak występujący więcej niż dwa razy w oryginalnym ciągu, nie jest to zbyt trudne.

Peter Taylor
źródło
Zapomniałeś „!”.
Howard
@Howard, przegapiłem. Ups
Peter Taylor
Powtarza się również litera o
Adam Speight
1
@AdamSpeight: Jest tylko dwa razy litera o. Reguły mówią, że nie wolno mieć postaci więcej niż dwa razy .
ProgramFOX
4

Hmm

W C, biorąc pod uwagę te reguły, możemy mieć tylko jedną #define(z powodu ii n) i co najwyżej dwie wywołania funkcji LUB definicje ( (i )).

Zakładam, że jest na to tylko jeden sposób (choć prawdopodobnie się mylę):

main(){puts("Hello w\x6fr\154d!");}
Oberon
źródło
Nadal musisz podać końcowy znak nowej linii. Wykonanie tego wyzwania w C jest trudne ...
Josh
1
@Josh Muszę tylko użyć puts()zamiast printf().
Oberon
2
Ale co jest złego ow world?
VisioN
@VisioN W starym szkicu tego samego kodu (zanim zdałem sobie sprawę, jak ciężko było napisać taki program) użyłem innego „o” w innym miejscu. Ale to nie jest golf golfowy , więc myślę, że nie trzeba tego naprawiać.
Oberon
4
W rzeczywistości nie jestem pewien, dlaczego każda odpowiedź wyświetla liczbę znaków.
Oberon
4

GRZMOTNĄĆ

printf 'Hel\x6co world!\n'

Cred @manatwork

echo $'Hel\x6c\x6f world!'
Runium
źródło
Pierwszy ma 3 „e” i 3 „o”.
manatwork
@manatwork: Gag; dzięki;)
Runium
W Bash można przejść -eza pomocą specjalnej $'…'składni: echo $'Hel\x6c\x6f world!'.
manatwork
4

C - 46 znaków

main(){printf("He%clo wor%cd!\x0d",'l',108);}

Wydruki:

Witaj świecie!

Phillip Kinkade
źródło
Jeśli celujesz w golfa, main(){printf("He%clo world!%c",108,10);}powinien działać i oszczędza ci kilka znaków.
FireFly,
@FireFly masz rację, uratowałbyś mi 3 znaki. Twoja sugestia również działa idealnie.
Phillip Kinkade,
4

Fuga

Z wiki esolang:

wprowadź opis zdjęcia tutaj

I możesz słuchać kodu źródłowego .

Timtech
źródło
11
Powiedziałbym, że to jest nieprawidłowe. Widzę więcej niż 4 środkowe litery C w prawej ręce.
Justin
4
Nie wspominając o ciągu czterech kolejnych G w 9 takcie.
Joe Z.
Czy to napisałeś, czy tylko wyrenderowałeś? Biorąc pod uwagę, że link do MIDI archiwum esolang.
FireFly,
4
-1 za plagiat. To jest z wiki esolang . Nie cytujesz tego. Edycja: cofnięta, teraz cytowana jest wiki esolang.
Justin
-1 za użycie tej samej nuty więcej niż 2 razy.
Erik the Outgolfer
4

PHP

32 znaki

Zauważ, że nie używam znaku więcej niż dwa razy, ponieważ l! = L

He<?=strtolower("LLO WOR");?>ld!

Zauważ również, że pomimo przepełnienia stosu usuwającego go w reprezentacji, po znaku !.

Francisco Presencia
źródło
1
Używasz trzech spacji, ale myślę, że można to naprawić, usuwając te w pobliżu tagów PHP! : P
Vereos
1
To było szybkie, chociaż zdałem sobie sprawę z przeczytania twojego komentarza (właściwie z innej odpowiedzi)
Francisco Presencia
Czy wyjście „H” nie powinno być pisane wielkimi literami?
David Cary
Zupełnie prawda, też tego przegapiłem):
Francisco Presencia
4

XQuery, 19 znaków

"Hello Wor&#x6C;d!"
Michael Kay
źródło