2010.01.14 01:09

6. 메소드(함수)

조회 수 6010 추천 수 1 댓글 6
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

 안녕하세요 니오티입니다.

오늘 배우려는 것은 함수입니다.

 

초등학교 때 이런 문제 기억나십니까?

 

A,B 를 기계에 넣고 돌렸더니 C가 나왔습니다!

또는

C를 기계에 넣었더니,  A와 B가 나왔습니다.

 

라는 문제가 있었습니다. (그림으로 설명했다면 더 좋았을텐데 아쉽게도 그림이 없네요.)

 

이는 다시말해, 어떤 값을 넣어주면 다른 어떤 값으로 변형 시켜줘서 결과를 준다는 겁니다.

메탈슬러그 게임기를 할때 100원을 넣으면 게임도 시켜주지만, 아래 과자 구멍에서는

과자가 30원치 정도 굴러서 떨어지는 것과 같습니다.

 

함수는 그런 기계의 역활을 하게 되는겁니다.

 

문제를 만들어보죠.

 

a 와 b를 더해서 값을 내보자.


라는 문제를 풀어봅시다.

 스크립트로 짜기 위해서 이벤트를 다시 열고 스크립트를 열어줍니다.

 

def - 함수를 선언하는것은 def 라고 합니다.

end- 함수를 끝낸다는 것은 end 라고 합니다.

  

def sum()

end

 

함수를 선언하고 한칸을 띈다음에 함수의 이름(sum)을 적습니다.

이는 이 함수의 이름이 되는 것입니다. (기계의 이름이 되었다 생각합시다.)

 

def sum(a,b)

 

end

 

위의 (a,b)는 인자 라고 합니다.

인수 또는 인자라고 하는데, 이는 아까 위에서 설명하듯이 기계에 a,b를 넣는거와 같이 a,b가 들어오는 것을 의미합니다.

 

즉 sum이라는 함수에 a,b가 들어옵니다 라는 뜻입니다.

 

def sum(a,b)

 return a+b

end

 

return 은 돌려주다의 의미입니다.

즉 sum이라는 함수에 a,b가 들어오면 반대로 나가야겠죠?

return은 a와 b를 더해서 내보내는 겁니다.

 

def sum(a,b)

 return a+b

end

 

드디어 우리는 함수를 완성했습니다.

당신의 첫 루비 함수군요.

 

함수 비교적 간단하죠?

 

이제 만든걸 쓰는 법을 알려드리겠습니다.

 

바로 그아래에 이와같이 적어주십시요.

 

def sum(a,b)

 return a+b

end

test = sum(1,2)

 

머리가 좋은 분들은 금방 이해하셨겠지만

test라는 변수에 우리가 만든 sum을 써넣고 인자 부분에 1,2를 써주었습니다.

 

비교해볼까요?

 

def sum (1,2)

return 1+2

end

(이건 스크립트가 아닙니다. 이해를 돕기 위해서)

 

자 위위에 써있는 것 처럼 test라는 변수에 sum(1,2) 를 써주면

방금 위의 스크립트 실행처럼 내용이 들어가서 결국 return 은 3이 나오게되는겁니다.

 

그럼 test = 3

이 담기게 됩니다.

 

결과적으로 테스트하기 위한 스크립트

 

def sum(a,b)

 return a+b

end

test = sum(1,2)

p test

  • ?
    슬픈혼잣말 2010.01.14 01:14

    ㅋㅋㅋㅋㅋㅋㅋ 은근재밌다 ㅋㅋ

  • ?
    Feather Fly 2010.05.01 21:22

    def 참 궁금했는데 함수를 시작하는 변수였군요!

  • ?
    DustyPunishment 2010.07.16 21:41

    다섯번째 강의는 어디 갔죠??? ㅇㅁㅇ

  • ?
    곤지컴 2011.02.13 12:02
    중간에 이해가 안된다!! 이해할때까지 공부해야겠다
  • ?
    By윤 2011.12.23 20:50

    공책에 써가시면서 해보세요.

    처음에는 읽기만 했더니 잘 모르겠었는데 공책에 쓰면서 하니까 머리에 쏙쏙 들어와요

  • ?
    홍예찬 2013.02.03 15:52

    잘 모르겠습

     


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 긴급상황 발생시 연락처 안내 독도2005 2012.11.28 2203
공지 니오팅 이용 규칙 (2013.01.05 3차 개정) 7 file 소녀쿤 2012.01.15 15580
공지 여러분의 의견을 받습니다. 20 file 니오팅 2010.01.29 4236
공지 Ruby 언어 공부에 참고가 될 만한 사이트들 (계속 추가 됨) 1 독도2005 2011.01.28 10099
공지 루비를 처음 한다고 겁내지 마세요. 초보자도 할수 있게 설명했어요! 7 니오티 2010.01.14 11330
13 9. 인스턴스 변수 2 펜릴 2010.01.24 4645
12 펜릴's 쉽게 루비와 친해지기 강의 <2장 초기값,실시간처리 편> 5 펜릴 2010.01.24 4342
11 펜릴's 쉽게 루비와 친해지기 강의 <1장 변수 편> 8 file 펜릴 2010.01.19 6352
10 8-1. 전역변수 (지역변수 사용) 8 니오티 2010.01.14 5279
9 8. 전역변수 7 니오티 2010.01.14 5544
8 7. 내장 함수 6 니오티 2010.01.14 5013
» 6. 메소드(함수) 6 니오티 2010.01.14 6010
6 4. 변수 선언 5 니오티 2010.01.14 5514
5 3. 디버깅 메시지 4 니오티 2010.01.14 5265
4 2. 프로젝트 작성 4 니오티 2010.01.14 5284
3 1. 루비 1 니오티 2010.01.14 5469
2 외. 연산자와 문자 9 조한철 2007.07.27 4940
1 외. 연산자와 문자 3 조한철 2007.07.27 5089
Board Pagination Prev 1 Next
/ 1

Copyright ⓒ Nioting All Rights Reserved. (since 1999)   개인정보취급방침