문제

이것은 Perl보다 저주에 대한 나의 이해에 문제가 될 수 있지만, 저를 도와주세요. Curses.pm을 사용하고 있으며 Curses "Window"를 만들 때 제외하고는 잘 작동합니다. 예제 코드 :

use Curses;
initscr;
$w=newwin(1,1,40,40);
$w->addstr(20,20,"Hello");
$w->refresh;
refresh;
endwin;

출력은 없습니다. 창을 사용하지 않으면 잘 작동합니다.

use Curses;
initscr; 
$w=newwin(1,1,40,40); 
addstr(20,20,"Hello"); 
refresh; 
endwin; 
도움이 되었습니까?

해결책

당신은 당신의 주장을 올바른 장소에 가져와야하며, 숫자가 무엇인지 기억하기 쉽지 않습니다. 먼저 모든 잘못된 순열을 시도한 후에는 항상 찾아야합니다. C 인터페이스의 Man Pages를보고 Perl Syntax로 변경합니다.

그만큼 newwin 에 문서화 된 함수 curs_window 남자 페이지, 테이크 :

newwin( height, width, starty, startx )

40 열 40 열에서 시작하여 1 행 높이와 1 열 너비의 창을 설정합니다. 그러나 당신은 말합니다. addstr 그 창에 20 열 20 열에 텍스트를 넣으려면. 설정 한 1x1 프레임 외부에 있으므로 아무것도 보이지 않습니다.

이것이 당신에게 맞는 지 확인하려면 이것을 시도하십시오. 작동하면 창 값을 조정하여 원하는 프레임을 얻으십시오.

use Curses;
initscr;

$w = newwin(
    1,       # height (y)
    COLS(),  # width  (x)
    0,       # start y
    1        # start x
    );

$w->addstr( 
    0,       # relative y to window
    0,       # relative x to window
    "Hello" 
    );

$w->refresh();

sleep 10;
endwin;
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top