행복감-절차
프로시 저는 프로그램의 어느 곳에서나 호출 할 수있는 재사용 가능한 코드 그룹입니다. 따라서 동일한 코드를 반복해서 작성할 필요가 없습니다. 이것은 프로그래머가 모듈 식 코드를 작성하는 데 도움이됩니다.
다른 고급 프로그래밍 언어와 마찬가지로 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.