행복감-절차

프로시 저는 프로그램의 어느 곳에서나 호출 할 수있는 재사용 가능한 코드 그룹입니다. 따라서 동일한 코드를 반복해서 작성할 필요가 없습니다. 이것은 프로그래머가 모듈 식 코드를 작성하는 데 도움이됩니다.

다른 고급 프로그래밍 언어와 마찬가지로 Euphoria는 절차를 사용하여 모듈 식 코드를 작성하는 데 필요한 모든 기능을 지원합니다.

이전 장에서 printf () 및 length () 와 같은 절차를 보았을 것 입니다. 우리는이 절차를 반복해서 사용하고 있지만 핵심 Euphoria로 한 번만 작성되었습니다.

Euphoria를 사용하면 자신의 절차를 작성할 수도 있습니다. 이 섹션에서는 Euphoria에서 자신의 절차를 작성하는 방법을 설명합니다.

절차 정의

프로 시저를 사용하기 전에 정의해야합니다. Euphoria에서 절차를 정의하는 가장 일반적인 방법은 다음을 사용하는 것입니다.procedure 키워드, 고유 한 프로 시저 이름, 매개 변수 목록 (비어있을 수 있음) 및 다음으로 끝나는 명령문 블록이 뒤 따릅니다. end procedure성명서. 기본 구문은 다음과 같습니다.

procedure procedurename(parameter-list)

   statements
   ..........

end procedure

예

매개 변수가없는 sayHello라는 간단한 절차가 여기에 정의되어 있습니다.

procedure  sayHello()
   puts(1, "Hello there")
end procedure

프로 시저 호출

나중에 스크립트 어딘가에서 프로 시저를 호출하려면 다음과 같이 해당 프로 시저의 이름을 작성하면됩니다.

#!/home/euphoria-4.0b2/bin/eui

procedure  sayHello()
   puts(1, "Hello there")
end procedure 

-- Call above defined procedure.
sayHello()

이것은 다음 결과를 생성합니다-

Hello there

절차 매개 변수

지금까지 매개 변수가없는 절차를 보았습니다. 그러나 프로 시저를 호출하는 동안 다른 매개 변수를 전달하는 기능이 있습니다. 이러한 전달 된 매개 변수는 프로 시저 내에서 캡처 할 수 있으며 이러한 매개 변수에 대해 모든 조작을 수행 할 수 있습니다.

프로시 저는 쉼표로 구분 된 여러 매개 변수를 사용할 수 있습니다.

예

sayHello 프로 시저를 약간 수정 해 보겠습니다 . 이번에는 두 개의 매개 변수가 필요합니다.

#!/home/euphoria-4.0b2/bin/eui

procedure sayHello(sequence name,atom  age)
   printf(1, "%s is %d years old.", {name, age})
end procedure

-- Call above defined procedure.
sayHello("zara", 8)

이것은 다음 결과를 생성합니다-

zara is 8 years old.