개인 재정 Perl의 일반적인 실수 방지하기

Perl의 일반적인 실수 방지하기

차례:

비디오: 투싼 ix 판금도색 - 실버 메탈릭 베이스, 하프 블렌딩 기법으로 블록 도장 2024

비디오: 투싼 ix 판금도색 - 실버 메탈릭 베이스, 하프 블렌딩 기법으로 블록 도장 2024
Anonim

Perl 프로그램을 작성하는 과정에서 오타 또는 2 개를 입력하는 것은 드문 일이 아닙니다. 그러나 텍스트 입력 슬립 업 (text-entry slip-up)을 포함하는 프로그램을 실행하려고하면 Perl은 일반적으로 혼동을 느끼고 오류를보고함으로써 알려줍니다. 수년간의 프로그래밍 경험을 가진 사람들조차도 대부분의 사람들에게 자연스러운 반응은 오류 메시지가 나타나면 걱정하거나 분노를 느끼는 것입니다.

당황하지 마십시오. 숨을 깊게 쉬어 라. 천천히 심호흡하십시오. 진심으로, 당신이 긴장하고 괴롭다면 문제의 근원에 도달 할 수 없습니다. 몇 년 동안 프로그래밍을하든 관계없이 항상 작성한 코드에 오류가 있음을 알게됩니다.

메시지는 항상 돈이 아니지만 문제가있는 지점에 가깝게 가까이 올 수 있습니다.

Perl에는 수많은 오류 메시지가 있지만 모든 사람들이 공통적으로 오타를 만들었 기 때문에 일부는 분명히 다른 것보다 더 많이 나타납니다. 간단한 오류로 인해 쉽게 피할 수있는 오류가 발생합니다.

세미콜론을 잊어 버림

Perl에서 프로그래밍 할 때 나타나는 가장 일반적인 오류 메시지는

# syntax error, "open"

File 'counter1과 비슷한 것 같습니다. pl '; Line 10

# 컴파일 오류로 인해 실행이 중단되었습니다.

Open 문을 사용하는 Line 10을 보거나 들여다 볼 수 있습니다. 아무런 문제가 보이지 않습니다. 여기의 트릭은 open 문 앞에 오는 문을 검사하고 세미콜론으로 끝나는 지 확인하는 것입니다. (Perl은 세미콜론을 만나면 문장이 끝나는 것을 알고 있습니다.)이 경우 프로그램의 7 번째 줄 끝에 세미콜론이 누락되어 오류가 발생합니다.

$ TheFile = "샘플. txt "

따옴표 삭제

빠른 수정을 모르는 경우 다음과 같은 종류의 오류 메시지가 매우 실망 스러울 수 있습니다.

# 연산자가 예상되는 곳에서 맨 처음 발견 된 단어

#" (INFILE, $ TheFile) 또는 죽을 "The"

# (# line 7에서 시작하는 가출 다중 행 "string"

File 'counter1)이 될 수 있습니다. pl '; Line 10

이 오류는 세미콜론을 잊어 버리는 것과 유사합니다. 대신 실수로 생략 된 따옴표입니다:

$ TheFile = "sample. txt; 이 경우, Perl은 무엇이 잘못되었는지를 추측하는 훌륭한 작업을 수행하여 Line 7의 급격한 줄 바꿈 문자열이 문제이며 정확합니다.

괄호를 너무 많이 또는 너무 적게 입력

프로그램에서 여는 괄호와 닫는 괄호가 많은 경우 실수로 추가 괄호를 쉽게 옮길 수 있습니다. 그렇다면 Perl에서

# syntax error, near ") eq"

File 'counter1과 같은 메시지를 볼 수 있습니다. pl '; 줄 38

# 구문 오류, "}"

파일 'counter1 근처. pl '; Perl은 오류가 정확히 어디인지는 판별 할 수 없지만 첫 번째 추측에 실제로 맞습니다. 38 행에 여분의 오른쪽 괄호가 들어 있습니다:

if (substr ($ TheLine, $ CharPos, 1)) eq "")

Perl 프로그램에서 괄호가 너무 적 으면 발견하기 어려운 문제가 발생할 수 있습니다:

# 상수 항목을 암시 적으로 왼쪽 인수로 사용할 수 없음 ->, "1}"

파일 'counter1 근처. pl '; Line 39

# "$ CharPos"

File 'counter1 근처에서 연산자가 예상 한 곳에서 스칼라가 발견되었습니다. pl '; 줄 40

# (이전 줄에 세미콜론이 누락 되었습니까?)

# 구문 오류, "$ CharPos"

파일 'counter1 근처. pl '; Line 40

야프! 이 모든 것은 38 번째 행의 마지막 괄호가 없기 때문에 생성되었습니다:

if (substr ($ TheLine, $ CharPos, 1) eq ""

여기 입력 오류를 찾아내는 또 다른 좋은 교훈은 다음과 같습니다. 오류를 찾지 못하면 오류를 발견하지 못 했으므로 한 줄 또는 두 줄 위로 이동하여 문제가 더 일찍 시작되었는지 확인하십시오.

마지막 조언: 펄을 사용하여 간단한 오타를 찾으십시오. can)을 사용하고, 많은 프로그래밍 언어에 대해 말할 수있는 것보다 더 많은 도움을 줄 수 있음을 기억하십시오.

Perl의 일반적인 실수 방지하기

편집자의 선택

Photoshop CS6의 이미지에서 원하지 않는 요소를 제거하는 방법 - 더미

Photoshop CS6의 이미지에서 원하지 않는 요소를 제거하는 방법 - 더미

Adobe Photoshop Creative Suite 6에서 원하지 않는 요소 (이 경우 사람)를 이미지에서 완벽하게 제거하는 단계입니다.이 기술을 처음 시도 할 때는 원하는 요소에 연결되지 않은 요소가있는 이미지로 시작하십시오 이미지를 유지하십시오. 무언가가 포함 된 이미지를 엽니 다.

Photoshop CS6에서 선택 영역을 알파 채널로 저장하는 방법 - 더미

Photoshop CS6에서 선택 영역을 알파 채널로 저장하는 방법 - 더미

중 하나 Photoshop CS6의 알파 채널에 대한 가장 큰 장점은 이미지를 저장 한 다음 시간과 시간을 다시 검색 할 수 있다는 것입니다. 이렇게하면 선택 영역을 만드는 데 많은 시간과 노력이 쏟은 경우 특히 편리 할 수 ​​있습니다. 요소를 다시 선택하려면 휠을 다시 만들어야합니다 ...

Photoshop 이미지 - 인형

Photoshop 이미지 - 인형

암실에서 디지털로 이동하면 소음을 줄이는 방법 영화 및 가공 비용의 달러화 (가능한 환경 오염의 감소는 말할 것도 없음)를 제공하지만 사진 및 예술 사업에 새로운 도전 과제를 추가했습니다. 디지털 사진이 제시하는 문제 중 가장 중요한 것은 노이즈입니다. ...

편집자의 선택

Adobe Photoshop Elements에서 디지털 사진의 레이어 삭제하기 -

Adobe Photoshop Elements에서 디지털 사진의 레이어 삭제하기 -

디지털 사진이 보이면 해당 사진에서 레이어를 삭제할 수 있습니다. 레이어를 삭제하면 해당 레이어의 내용이 이미지 파일에서 제거됩니다. Adobe Photoshop Elements를 사용하여 그림에서 레이어를 삭제합니다.

Adobe Photoshop Elements로 디지털 사진의 레이어 편집하기 - 더미

Adobe Photoshop Elements로 디지털 사진의 레이어 편집하기 - 더미

Adobe Photoshop Elements에서 특정 레이어를 변경하여 이미지의 나머지 부분을 변경하지 않고 이미지를 편집 할 수 있습니다. 편집하려는 부분이 편집하려는 레이어에 있는지 확인하기 만하면됩니다.

디지털 사진 편집 - 인형

디지털 사진 편집 - 인형

잠시 동안 디지털 카메라로 사진을 찍었 으면 항상 결과에 감격하고 "이 사진을 구원받을 수 있습니까? "그 대답은"그렇습니다. "다음 표의 트릭을 사용하여 좋아하는 사진 편집기에서 디지털 사진을 편집하십시오. 기능 설명 권장 크기 조정 ...

편집자의 선택

WordPerfect Office 2002에서 작업 영역 사용자 지정 - 더미

WordPerfect Office 2002에서 작업 영역 사용자 지정 - 더미

WordPerfect 인터페이스에 대한 많은 것을 제어 할 수 있습니다 프로그램이 어떻게 보이고 행동하는지에 대한 용어). 모든 옵션을 훑어 보는 데 몇 시간을 소비 할 수 있지만 더 나은 일을해야합니다. 아래는 대부분의 사람들이 WordPerfect에서 다루기 쉬운 작업을위한 옵션입니다. 옵션 본부 : 설정 ...

의 그래픽 작업 - 그래픽을 사용하기 전에 WordPerfect 11 - Dummy

의 그래픽 작업 - 그래픽을 사용하기 전에 WordPerfect 11 - Dummy

기본에서 그래픽 작업 상자. 모든 상자에는 테두리와 배경이 있습니다. 두 가지 방법으로 상자와 상자 안에있는 그림을 선택할 수 있습니다. 텍스트를 입력하고 상자를 클릭하면 검은 색 핸들과 테두리가 생기지 않습니다.