“Hello, World!”인쇄


79

네 진짜로 요. 하드 카피를 만들려면 하드웨어 프린터 create로 인쇄 하십시오.

다음 명령이 종이에 인쇄되도록 필요한 명령 / 데이터를 프린터로 보냅니다.

안녕, 월드!

사용 가능한 로컬 또는 네트워크 연결 프린터를 사용할 수 있습니다.

프린터가 허용하는 경우 흰 종이에 검정 잉크로 8pt 이상의 텍스트를 사용해야합니다.

텍스트는 자체 줄에 나타나야합니다. 원하는대로 왼쪽 또는 오른쪽에 배치 할 수 있습니다.

제출에 대한 디지털 사진 / 비디오 / GIF 증거가 도움이 될 것입니다.

하드웨어가 종이를 만들 수 없지만 3D 인쇄, CNC 가공 또는 원자 수준에서 인쇄와 같은 다른 이국적인 하드 카피 제작 을 허용하는 경우 흥미로운 제출을 기꺼이 받아들입니다.


명확하게하기 위해 "필요한 명령 / 데이터를 프린터로 보내십시오" 라는 질문이 나타납니다 . 이는 더 이상의 사용자 입력이 필요하지 않다는 의미입니다. 인쇄 대화 상자를 여는 것으로 충분하지 않습니다. 2016 년 12 월 31 일 PST 오전 10시 48 분 현재이 작업을 수행하는 기존 답변은 할아버지가 될 것입니다 (그러나 나는지지하지 않습니다).


56
확인을 위해 제출물을 보낼 수있는 주소를 입력하십시오.
steenbergh

1
@steenbergh Yep-좋은 지적-디지털 사진 / 비디오 / GIF 제출 증거는 충분해야합니다.
Digital Trauma

3
많은 구형 프린터가 사용자 정의 명령 세트를 사용한다는 점은 주목할 가치가 있습니다. 이들 대부분은 문자 그대로 ASCII 문자를 인쇄하므로 문제가있는 프린터 중 하나에 액세스 할 수있는 경우 (또는 사용자가 주장한다고 할 수있는 경우) Hello, World!프린터 포트로 전송 하면 충분합니다.

1
print("Hello, World!")Firefox 콘솔에서 한 번 시도해 보았고 인쇄 대화 상자를 열었지만 (어쨌든 프린터에 연결되지 않았기 때문에) 이제는 문자열 만 반환합니다.
ETHproductions

2
크롬에서 @ETHproductions를 수행 <script>print("Hello, World!")</script> 하면 인쇄 대화 상자가 열리지 만 실제 텍스트는 표시되지 않습니다.
FlipTack

답변:


41

배쉬, 21 19 바이트

lp<<<Hello,\ World!

actual printout

그리고 거기에 있습니다.

Dennis 덕분에 2 바이트가 절약되었습니다 !


1
+1 스크립트로 유효합니다. 내 Mac에서 잘 작동합니다. 명령 줄에서 직접 실행하려면 큰 따옴표를 작은 따옴표로 변경해야합니다.
디지털 외상


@ juggernaut1996 어디? 다시 인쇄해야한다면
Blue

37

PowerShell , 18 바이트

'Hello, World!'|lp

온라인으로 사용해보십시오!

enter image description here


9
TIO 링크의 요점이 확실하지 않습니다. 어쨌든 +1.
디지털 외상

1
@DigitalTrauma 나는 그것이 재미 있다고 생각했다; 그리고 그것은 나를 위해 게시물을 생성합니다. 또한 작업을 스풀링하려고 시도 (및 실패)했는지 확인하기 위해 디버그 출력을 볼 수도 있습니다. - P
briantist

19
@DigitalTrauma 입력 필드에 주소를 입력하면 TIO가 결과를 우편으로 발송합니다.
Dennis

@Dennis 구울 돈이 있으면 API- 인쇄 서비스를 사용하는 답변을 제출합니다. 아아 ...
briantist

19

QBIC , 11 바이트

'LPRINT `_h

나는 'Hello, World!'를 짓는 것을 거의 잊었다. QBIC에 명령 ...

'          Starts a code literal. This used to be "$", finally changed it.
 LPRINT `  Feeds everything from ` to the next ` directly to QBasic. 
           In this case, "LPRINT" and a space
_h         Yields "Hello, World!"

QBasic 답변과 동일하게 작동하고 테스트되었습니다. enter image description here


1
음 .. 그 링크는 무엇입니까? 당신이 발명 한 언어입니까?
eis

1
@eis 예, QBIC을 만들었습니다. 이 링크는 모든 코드가 포함 된 Google 드라이브 폴더입니다. GitHub에서 짜증납니다 ... QBasic (QBIC은 Quick Basic의 Interpreter for Codegolf의 약어) 상단의 인터프리터이며 DosBox에서 실행됩니다. 몇 가지 예를 보려면 쇼케이스 스레드를 확인하십시오 (또는 내 프로필의 답변 페이지를 열면 75 %가 QBIC에 있음). WIP이므로 구문과 토큰이 때때로 변경됩니다.
steenbergh

OP는 기본 "hello world"를 피하기 위해 대문자 "W"를 사용했습니다 ( 또한 참조 ). 작업에 대한 자체 내장 명령을 빌드하는 것은 코드 골프가 아니거나 기본 기본 동작으로 "0 바이트"로 만들 수 있습니다. .
Cœur

2
@ Cœur : 요즘에는 거의 작동하지 않습니다. 대부분의 최신 골프 언어는 PPCG의 표준이기 때문에 대문자 W를 정확하게 사용하며이 특정 도전에 대한 지식없이 명령이 추가되었을 가능성이 높습니다 (단지 "Hello, World! "도전 과제는 향후에 제출 될 것입니다)

@ Cœur PPCG에 오신 것을 환영합니다! 특정 관심사가 발생한 사람이 자신이 아니라는 사실에 놀랄 수도 있습니다. 여기에 독서를 시작하기에 좋은 장소 : meta.codegolf.stackexchange.com/q/4867/11261을 그리고 더는, 코드 골프를 즐기는 사람들은 시간이 허점에 대해 생각을 많이 지출 : meta.codegolf.stackexchange.com/q/1061/를 11261
Jordan

16

배치, 22 바이트

echo Hello, World!>prn

이는 echo명령 출력을 장치 파일 PRN으로 리디렉션합니다 . 즉, 기본 프린터 (일반적으로 LPT1)로 직접 전송됩니다.

나는 DOS 머신이나 프린터를 가지고 있지 않기 때문에 지금 이것을 테스트 할 수 없다고 생각하지만, 그 날 다시이 일을했다고 확신한다. Windows XP 이상에서는 작동하지 않습니다.


이것은 파일을 만들려고했지만 con할 수 없었던 때를 상기시킵니다 . 아, DOS 장치 파일의 기쁨 ...
aross

"net"명령을 사용하여 이러한 방식으로 인쇄하도록 NT (및 추정 가능한 XP 등)를 구성 할 수 있습니다. iirc "net use lpt1 : something"
Jasen

16

HTML + 자바 스크립트, 37 34 바이트

<body onload=print()>Hello, World!

Safari에서 테스트 :

여기에 이미지 설명을 입력하십시오

약간의 절약 을 위해 @ jimmy23013 에게 감사합니다 .


11
이것은 인쇄 대화 상자를 열고 추가 수동 개입없이 실제로 작업을 프린터로 전송하지 않는 것처럼 보입니다.
Digital Trauma

4
@DigitalTrauma JS는 그렇게 할 수 없습니다
Mr. Alien

1
정말 @EriktheOutgolfer입니까? Firefox 및 Chrome은 닫는 태그가 충족 될 때만 스크립트 코드를 평가합니다.
manatwork

1
그래 나는 떠나려고했지만 </script>작동하지 않았다.
푹신한

2
-3 바이트 :<body onload=print()>Hello, World!
jimmy23013

13

파이썬 2.7, 421 바이트

import zlib,base64,os;os.system("s=$'%s';lp<<<\"$s\""%zlib.decompress(base64.decodestring("eNqVkk1qxDAMha/yupNgwNfoDboReDPdhQRmrcNXP3bixA3tGEMesj/r5wXoq+YysUemI0BWlYgV\npTyAEDKEQSDucxLxJaj6gUVKE8BFsH2TIOM5iMyrcTIL3YnMqCH4X0TLONTwF3H04Z0XuRPeR3Wi\nxDOi1EZY7gUTWFa8s+z5kTgcnK3sBtbZQRtCt5LPDlrliKouDh5DYz07KB6COuETUL/YRthGxHqZ\nbjyWBAU8EFk6z350Yt97Dol65hxUow9i3zr8YGxFS61nB4szPqvDnS7CU/nFwYLIYczn97JsD3xt\nr+X5wT/ARNN3\n")))

너무 길어? 어쩌면 약간 복잡합니다 .... : P

많은 안녕하세요 세계

진지하게 여기에 더 짧은 것이 있습니다.

import os;os.system("lp<<<'Hello, World!'")

그러나별로 흥미롭지는 않습니다.



13

안녕하세요 + lp + tr, 9 15 바이트

hello|tr w W|lp

원래는

hello|lp

그러나 그것은에 잘못된 대문자를했다 w

hello는 debian 꾸러미의 gnu입니다 hello


7
hellow대부분의 프로그래밍 사이트에서 사용자 정의와 같이 소문자를 인쇄합니다 . ( WPPCG 에서 대문자 가 어떻게 표준이 되었는지 잘 모르겠습니다.)

7
@ ais523 대문자 W가 이와 같은 내장 기능을 피하기 위해 정확하게 표준이라고 생각합니다.
Pavel

2
대문자가 틀리면 이것이 잘못된 것 같습니다.
Dennis

귀하의 의견에 감사드립니다. 내일이 답변을 삭제하겠습니다.
Jasen

6
어때요 hello|tr w W|lp?
David Conrad

11

ZX 스펙트럼 기본, 16 바이트

LPRINT "Hello, World!"

LPRINT ZX Spectrum BASIC에서 1 바이트 키워드이며 코드 포인트는 224입니다.


1
하드 카피 사진을 보여줄 수 있습니까?
Jasen

4
@Jasen 이론적으로 나는 여전히 키트를 가지고 있지만, 그것을 파고 그것을 오래되고 충분한 TV에 연결하는 것은 약간의 골치 아픈 일이 될 것입니다. 미안합니다.
Neil

"blind"명령을 입력해도됩니다.
Jasen

10

MATLAB, 40 37 36 바이트

텍스트 인쇄는 Matlab에서 일반적으로하는 것이 아니지만 수행 할 수 있습니다.

title 'Hello, World!'
axis off;print

Tom Carpenter 덕분에 3 바이트를 절약했습니다 ( title대신에 사용하십시오 text(0,0,. title('Hello, World!') with제목 'Hello, World!'로 대체하여 세미콜론 대신 줄 바꿈을 사용 하여 추가 2 바이트를 절약했습니다 .

title그림에 제목을 추가합니다. 그림이 아직 열려 있지 않으면 만들어집니다.

axis off 텍스트와 텍스트가 표시되도록 프레임과 축을 제거하는 데 사용됩니다.

print 입력 인수가 제공되지 않으면 현재 그림을 기본 프린터로 인쇄합니다.

사무실의 기본 프린터에서이 대화 상자에 따라 성공적으로 인쇄했습니다. 거기서 찾아서 증명할 수 있지만 2 주 정도 기다려야합니다. 기본값을 pdf 프린터로 변경하면 다음과 같이 출력됩니다.

여기에 이미지 설명을 입력하십시오

^^ 더 이상 올바른 이미지가 아닙니다.


8

Q 기본, 21 바이트

LPRINT"Hello, World!"

LPRINT텍스트를 프린터로 직접 보냅니다. 불행히도 테스트되지 않은 DosBox NET USE는 기본적으로를 지원하지 않으므로 LPT1:NovaPDF로 경로 를 변경할 수 없습니다 .

내가 가진 문제는 ...

업데이트 : QB64에서 테스트했습니다. Microsoft Edge에서 결과 PDF가 열립니다. 다음과 같습니다 : 여기에 이미지 설명을 입력하십시오


7

8086 머신 코드, 28 바이트

00000000  be 0f 01 b9 0d 00 31 d2  ac 98 cd 17 e2 fa c3 48  |......1........H|
00000010  65 6c 6c 6f 2c 20 57 6f  72 6c 64 21              |ello, World!|
0000001c

표준 int 0x17BIOS 호출을 사용합니다 . 도트 매트릭스 프린터가 지금 설정되어 있지 않으므로이 코드는 테스트되지 않았습니다.

작동 방식 :

            |   org 0x100
            |   use16
be 0f 01    |       mov si, msg         ; source pointer = msg
b9 0d 00    |       mov cx, 13          ; counter = length of msg
31 d2       |       xor dx, dx          ; clear dx
ac          |   @@: lodsb               ; al = *si++
98          |       cbw                 ; sign-extend al->ax (simply clears ah)
cd 17       |       int 0x17            ; send char in al to printer dx
e2 fa       |       loop @b             ; loop while (cx-- > 0)
c3          |       ret
48 65 6c    |   msg db "Hello, World!"
6c 6f 2c    |   
20 57 6f    |   
72 6c 64    |   
21          |   

1
물론 방금 추가했습니다.
user5434231

지금 우리는 이야기하고 있습니다!
제한 속죄

6

배치 + 멈춤, 12 바이트

영감을받은 이 대답붙어 프로그램 인쇄 "안녕하세요, 세계!".

  1. 프린터를 컴퓨터 LPT1 포트에 연결하십시오
  2. 해석 할 비어있는 고정 파일 작성 (파일 이름 a)
  3. 빈 파일에 붙어있는 인터프리터를 실행하고 결과를 LPT1로 파이프

암호

stuck a>LPT1

4
여러 언어를 사용하는 경우 바이트 수의 일부로 언어를 연결하는 접착제도 계산해야합니다. 배치 프로그램의 경우 15로 계산하고 0 바이트 외부 파일이 필요하기 때문에 0을 계산합니다.

1
Windows 배치 스크립트와 Stuck을 호출하고 결과를 프린터로 전달하는 데 사용되는 명령을 명확하게 표시 할 수 있습니까? 명시 적으로 나는 다음과 같은 것을 의미합니다 stuck empty > LPT1. BTW 이것이 REPL을 사용한다면 나는 합의가 명확하게 언급되어야한다고 생각합니다 (나는 이것이 정확히 혼란을 최소화해야한다고 생각합니다).
redstarcoder

@ ais523 내가 정복-접착제를 세어야하고, 그 때문에 5 바이트에서 12로 늘렸다
Daniel

LPT1 대신 PRN으로 리디렉션하여 바이트를 저장할 수 있습니다.
user5434231

1
IMO 1 바이트 파일 이름으로 1 바이트를 추가해야합니다.
CalculatorFeline

4

GFA 기본, 22 바이트

병렬 포트가 파일로 리디렉션 된 Atari ST 에뮬레이터에서만 테스트되었습니다. 그것은 작동해야 GFA-기본의 Windows 버전 (무료),하지만이 안된 것입니다.

LPRINT "Hello, World!"

참고 : 이것은 QBasic 구문 과 동일 합니다.


4

자바, 330 바이트

골프 :

import java.awt.print.*;void f()throws Throwable{PrinterJob job=PrinterJob.getPrinterJob();job.setPrintable(new Printable(){public int print(java.awt.Graphics g,PageFormat f,int i){if(i==0){((java.awt.Graphics2D)g).translate(f.getImageableX(),f.getImageableY());g.drawString("Hello, World!",0,90);}return i>0?1:0;}});job.print();}

언 골프 (가져 오기 및 기능 만 해당) :

import java.awt.print.*;

void f() throws Throwable {
  PrinterJob job = PrinterJob.getPrinterJob();
  job.setPrintable(new Printable() {
    public int print(java.awt.Graphics g, PageFormat f, int i) {
      if (i == 0) {
        ((java.awt.Graphics2D) g).translate(f.getImageableX(), f.getImageableY());
        g.drawString("Hello, World!", 0, 90);
      }
      return i > NO_SUCH_PAGE ? 1 : PAGE_EXISTS;
    }
  });
  job.print();
}

자바는 훌륭한 골프 언어가 아니며 특정 골프는 골프를 잘하지 못한다. 하드웨어 관련을, 인쇄가 포함되어 있습니다.

이 프로그램을 테스트하는 동안 PDF 프린터를 기본값으로 설정했습니다. 작동했지만 "Hello, World!"87,792 페이지가 포함 된 레이저 프린터로 인쇄 작업을 보냈습니다. 용지함을 잡아 당겨 작업을 취소 한 다음 다시 테스트했습니다. 다시는 일어나지 않았다. 고마워, Windows 10


-7 바이트 배를 변경하여 jobj, 및 i==0i<1.
Kevin Cruijssen

3

자바 스크립트, 37 36 바이트

print(document.write`Hello, World!`)

@manatwork와 @xem 덕분에 15 바이트가 절약되었습니다!


3
필요가 명시 적으로 지정할 수 없습니다 window: document.write('Hello, World!');print(). 또는 더 짧습니다 : print(document.write('Hello, World!')).
manatwork

3
ES6으로 당신이 할도 할 수 있습니다 document.write`Hello, world!` (여기에 대한 추가 정보 : xem.github.io/articles/#webspeech )
XEM

확인없이 인쇄됩니까? 아니? 너무 나쁘지만 유효하지 않습니다.
CalculatorFeline

@CalculatorFeline 왜 적대적인가? 도전 과제의 각주를 읽으면을 볼 수 "...Existing answers that do this as of 10:48am PST 31st Dec 2016 will be grandfathered..."있습니다.
Oliver

오. 나는 그 부분을 놓쳤다.
CalculatorFeline


2

C #, 259250 바이트

using System.Drawing;using System.Drawing.Printing;struct p{static void Main(){var p=new PrintDocument();p.PrintPage+=(s,e)=>e.Graphics.DrawString("Hello,World!",new Font("Arial",12),new SolidBrush(Color.Black),new Rectangle(0,0,999,99));p.Print();}}

출력 예


2

배치, 32 바이트

echo Hello, World!>t
notepad/P t

수동 개입없이 모든 버전의 창에서 작동해야합니다.


1

라켓 35 바이트

(system("echo 'Hello World!'\|lp"))

1

HTML (33)

Hello, World!<svg onload=print()>

(브라우저에서 인쇄 창을 표시하고 직접 인쇄하지 않습니다)


태그가 <svg>구체적 이어야 하거나 태그가 작동 해야하는 이유가 있습니까? (여러 태그의 이름이 더 짧습니다.)

7
afaik, svg, img (유효한 src 포함), iframe 및 본문에만 페이지가로드 될 때 onload 이벤트가 트리거됩니다. src가없는 img는 onerror 이벤트를 트리거합니다. 우리가 찾은 가장 짧은 것은 svg onload = ...
xem

챌린지는 대문자를 요구 W합니다 (바이트 수가 변경되지는 않음).
Martin Ender

1

APL (Dyalog) , 50 바이트

물론 Batch / Bash 솔루션을 셸 아웃하고 사용할 수 있지만 대신 실제 인쇄 작업을 만들 수 있습니다.

{'X.'WC'Text' 'Hello, World!'⍵⊣'X'WC'Printer'}⍳2

⎕WC 인 W indows C reate 개체

먼저 우리는 프린터 객체라고 (인쇄 작업)을 생성 'X'(다음, (점에서) 'X.'우리는에서 텍스트 객체를 생성) 익명 함수의 인수 {... }. 인수는 ⍳2처음 두 정수 ( 1 2) 를 제공 하며 맨 위 1 %, 왼쪽 2 %를 의미합니다. 익명 함수가 종료되면 모든 로컬 변수 ( X)가 삭제되어 인쇄 작업을 인쇄 할 준비가되었음을 Windows에 알립니다.


인쇄 작업


0

자바 스크립트, 36 바이트

print(document.write`Hello, World!`)

인쇄 대화 상자가 열립니다. 실제로 인쇄하려면 추가 수동 개입이 필요합니다. 질문 하단의 메모를 참조하십시오.
디지털 외상


0

자바 스크립트 + HTML, 20 바이트

print()
Hello, World!


인쇄 대화 상자가 열립니다. 실제로 인쇄하려면 추가 수동 개입이 필요합니다. 질문 하단의 메모를 참조하십시오.
디지털 외상

0

C #, 174 바이트

namespace System.Drawing.Printing{_=>{var p=new PrintDocument();p.PrintPage+=(s,e)=>e.Graphics.DrawString("Hello, World!",new Font("Onyx",9),Brushes.Black,0,0);p.Print();};}

풀 / 포맷 버전 :

namespace System.Drawing.Printing
{
    class P
    {
        static void Main(string[] args)
        {
            Action<float> f = _ =>
            {
                var p = new PrintDocument();
                p.PrintPage += (s, e) =>
                    e.Graphics.DrawString("Hello, World!", new Font("Onyx", 9), Brushes.Black, 0, 0);
                p.Print();
            };

            f(0);
        }
    }
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.