Learning
레슨 3 / 8·15분

함수와 리스트 블록

함수 정의 블록과 호출 블록

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