행복감-절차

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

다른 고급 프로그래밍 언어와 마찬가지로 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.