Learning
레슨 3 / 9·2개 토픽

함수와 리스트 블록

함수 정의 블록과 호출 블록

함수(Function) 블록은 반복되는 로직을 하나의 이름으로 묶어 재사용합니다. 함수 정의 블록에서 이름과 매개변수를 설정하고, 호출 블록으로 실행합니다. 결과를 돌려주는 반환(return) 블록도 사용할 수 있습니다.

javascript
// [함수 정의 블록] — 인사 함수
function greet(name) {
  window.alert('안녕하세요, ' + name + '님!');
}

// [함수 호출 블록]
greet('철수');
greet('영희');

// [반환값이 있는 함수 블록]
function add(a, b) {
  return a + b;
}

var result = add(3, 5);
window.alert('합계: ' + result);  // 8

리스트 생성 블록과 조작 블록

리스트(List) 블록은 여러 값을 순서대로 담는 목록을 만들고 조작합니다. 리스트 생성 블록에 원하는 수만큼 값 슬롯을 추가하고, 조작 블록으로 항목을 추가, 삭제, 검색할 수 있습니다.

javascript
// [리스트 생성 블록]
var fruits = ['사과', '바나나', '포도'];

// [리스트 길이 블록]
window.alert('개수: ' + fruits.length);  // 3

// [리스트에 추가 블록]
fruits.push('딸기');

// [리스트에서 가져오기 블록] — 첫 번째 항목
var first = fruits[0];
window.alert('첫 번째: ' + first);  // 사과

// [리스트 반복 블록] — 각 항목에 대해 실행
for (var i = 0; i < fruits.length; i++) {
  window.alert(fruits[i]);
}
  • 리스트 생성 블록 — 빈 리스트 또는 초기값 설정
  • 리스트 길이 블록 — 항목 개수 반환
  • 리스트 추가/삽입 블록 — 끝에 추가 또는 특정 위치에 삽입
  • 리스트 가져오기 블록 — 인덱스로 값 조회
  • 리스트 반복 블록 — 각 항목에 대해 블록 실행
  • 리스트 정렬 블록 — 오름차순/내림차순 정렬
javascript
// 함수 + 리스트 조합 예제
function sumList(numbers) {
  var total = 0;
  for (var i = 0; i < numbers.length; i++) {
    total = total + numbers[i];
  }
  return total;
}

var scores = [90, 85, 92, 78, 95];
var sum = sumList(scores);
var average = sum / scores.length;

window.alert('합계: ' + sum);      // 440
window.alert('평균: ' + average);  // 88
💡

Blockly의 함수 블록을 적극 활용하세요. 같은 로직이 두 번 이상 반복된다면 함수로 묶는 것이 좋습니다. 이 습관은 텍스트 코딩으로 넘어갔을 때도 큰 도움이 됩니다.