페이지 4: 함수와 고급 RUR-PLE 개념

4. 함수와 고급 RUR-PLE 개념

코드를 모듈화하고 재사용성을 높이는 함수는 RUR-PLE 프로그래밍에서 매우 중요합니다. 또한 RUR-PLE에서 제공하는 몇 가지 유용한 고급 기능도 살펴봅니다.

4.1. 사용자 정의 함수 정의하기

반복되는 동작이나 복잡한 일련의 동작을 하나의 함수로 묶을 수 있습니다.

# custom_function.py
def turn_right():
    turn_left()
    turn_left()
    turn_left()

def move_and_put_beeper():
    move()
    put()

turn_right()         # 정의된 함수 호출
move_and_put_beeper() # 다른 함수 호출

함수를 사용하면 코드가 더 간결하고 읽기 쉬워지며, 나중에 변경하기도 쉽습니다.

4.2. repeat() 함수와 월드 설정

RUR-PLE은 특정 동작을 지정된 횟수만큼 반복하는 repeat() 함수를 제공합니다. 또한 로봇이 다양한 월드에서 작동하도록 코드를 설계하는 것이 중요합니다.

repeat() 함수

# repeat_example.py
repeat(3): # 세 번 반복
    move()
    take()

이 코드는 로봇이 세 번 이동하고 비퍼를 세 번 줍는 작업을 수행합니다.

다양한 월드에 대응하는 코드

RUR-PLE의 강점 중 하나는 월드 파일 (.wld)을 로드하여 다양한 환경에서 코드를 테스트할 수 있다는 점입니다. 로봇이 항상 동일한 초기 조건에서 시작한다고 가정하지 말고, front_is_clear(), on_beeper()와 같은 조건 검사를 통해 유연한 코드를 작성하는 연습을 해야 합니다.