반응형

안녕하세요~ 에르의 생각발전소입니다 :)

이번 시간에는 스위프트와 같은 프로그래밍 언어의 꽃!

함수에 대해서 다뤄보도록하겠습니다!

함수는 일종의 연장(도구)입니다.

못질을 하기위해서는 망치가 필요하겠지요?

그럼 그 망치를 만들어야하는데, 

여기서 망치가 함수가 되는겁니다!

그러므로, 꼭 알아야겠죠?






OPTIONAL 편에서 사용했던 예제를 가져왔습니다 :)

import UIKit


let movie = "Death Note"


// moive라는 상수를 선언하고 값은 "Death Note"를 가집니다.


var ratings:[Double]? = nil


// 처음에는 값이 없고 나중에 추가될 것이기 떄문에. 옵셔널로 지정해줍니다.


let url :String = "www.DeathNote.com"


// 주소는 당연히 있어야겠지요?


// 그리고 타입을 선언해줬습니다! 


ratings = [1.5, 2.5, 3.0 ,5.0, 4.5, 1.0, 3.5, 2.0]


// ratings 8개의 더블값들들을 주었습니다!


var info:String = "\(movie)"


var info:String = movie


// 둘 중 어느 타입으로 주든 상관없습니다 :)

// print 역할을 맡게될 info 변수입니다!


// 이제 함수를 만들어봅시다!


//    func <#name#>(<#parameters#>) -> <#return type#> {

//         <#function body#>

//     }


// 스위프트에서의 함수 틀입니다. parameters에는 매개변수가 들어가고 


// return type에는 함수에 돌려지고 결과값을 표출할 때의 


// 값을 지정해주셔야합니다.


// function body 함수의 내용입니다.


func funcRatings(paraRatings:[Double]) -> (average:Double, min:Double, max:Double){


    //  paraRatings:[Double]이라고 선언했는데, 왜냐하면 ratings


    //  더블값이기 때문입니다. 게다가 어레이상태이죠.


    //  리턴타입은 튜플이며 평균과 최소, 최대값을 구할 것이며, 타입은 더블입니다.

    

    // 왜냐하면 ratings 값들이 더블값이기 때문이지요!


    var sum = 0.0, min = paraRatings[0], max = paraRatings[0]

    

    // sum 0.0 값을 가지며, min,max paraRatings에서의 첫번째값을 가진다. 라고 변수를 생성해주세요.


 

    for value in paraRatings {

        

        // for~in구문을 활용해봅시다!

        

        if min > value {min = value}

        

        // 만약 min 값보다 크다면  value 최소값입니다.

        

        if max < value {max = value}

        

        // 만약 max 값보다 작다면  value 최대값입니다.

        

        sum += value

        

        // sum에는 값들을 차곡차곡더합니다. 총합이니까요!

 

}


 

let average = sum/Double(paraRatings.count)

    

    // 평균값은 총합에서 paraRatings 갯수만큼 나눈 값입니다!

    

    // 여기서 paraRatings.count Double타입이 지정된 이유는?

    

    // 그렇죠, 값들이 더블값이고 따로명시해주지않으면 

    

    // 스위프트 정수로 인지하니 타입을 정확힌 지정해야하는거죠

    

    // 스위프트는 타입과 대소문자에 까칠합니다!

    

    return(average,min,max)

    

    // 반환으로는 average, min, max 반환한다.

    

}

언렙하지않으면 스위프트가 유혹을 합니다.

너 이값이 언렙되지않았는데, ! 나 ? 써서 언렙할레?

그게 더 깔끔할 것 같은데?

ㅋㅋㅋ그래서 !를 붙힘니다!

 

info += " has \(ratings!.count) ratings.\r\n average is \(record.average) from \(record.min) to \(record.max),  \r\n Also our offical website is here \(url) "



print(info)


// 이렇게 갑이 또아앟! 뜹니다 :)

// 그럼 끝이에요.

// 함수를 이용해서 연산을 했고 그 값을 활용해서 위와같은 결론을 얻었습니다 :))))


// 조만간 함수와 옵셔녈 컬렉션들에 대해서 심화편을 업로드하도록 하겠습니다 :)


반응형
by 발전소장 에르 :) 2016. 5. 12. 08:01
반응형

안녕하세요~ 에르의 생각발전소에 오신걸 환영합니다 :)

이번 시간에 다뤄볼 주제는 바로?!

"델 노트북 공장 초기화 시키기" 입니다.

제가 한국에 들어가있을 동안 제가 맥북을 사용하고,

여사님이 쓰던 델노트북 (지금은 완전 퍼진)을 사용할 예정이라,

델노트북을 부활시키고자합니다!





준비물입니다.

당연히 델노트북이 필요하겠지요?


정말~ 느립니다.

뭐하나 할려면 쾽~하니 기다려야하고, 또한 꽤 렉도 심하구요..

그래서 거의 애물단지 취급을 받는 놈이지요.

사양만보면 왠만한 컴퓨터보다 좋습니다.

심지어 현제 사용준인 맥북 보다 좋아요.

고로, 문제는 소프트웨어와 OS란 얘깁니다. :(

일단 델노트북을  재부팅시켜주시는데, 

"DELL" 로고가 뜨는 순간 F8을 0.5초 간격으로 꾸욱꾸욱 눌러주세요!

그럼 위 화면이 똬앟! 

화살표와 엔터로 조작하실 수 있습니다.

Repair Your Computer를 선택해주세요.


windows is loading files... 란 문구가 나오죠?

컴퓨터 환경에 따라다르지만 대략 30초 정도 걸립니다.

물론 상태가 안좋다면, 더~ 오래 걸리는 거죠?

window is loading files... 단계가 끝나면, 언어 선택화면이 나옵니다.

한국어나 영어 편하신 언어를 선택해주세요 :)

기존의 계정이름과 비밀번호를 입력해주셔야합니다.

그리고.  맨위에 Start up Repair 보이시죠?

클릭해주세요 :)

NEXT 를 눌러주시구요~ 

복구할 시점을 선택해주셔야합니다.

저는 다 초기화시킬 예정이므로,

구입했던 당시 시점인 2012년으로 진행했습니다 !

FINISH를 클릭하셔서, 완료햊세요.

경고 문구가 나옵니다.

상관없으니 계속 진행!

자~ 이제 기다리시면 됩니다~

물론 컴퓨터 환경에 따라~ 적게는 수초~ 많게는 수시간이 걸릴 수도 있습니다. 

완료된 모습입니다 :)

재부팅을 클릭해주세요 !

짜잔~ 구입당시 상태로 돌아갔습니다.

모든 설정을 초기부터 다~ 다시해야하는 불편함이 있지만, 그래도

빠릿빠릿한 왕년의 그 모습을 되찾았으니, 

그걸로 만족이지요?

저희는 대만족이랍니다 흐흐.




반응형
by 발전소장 에르 :) 2016. 5. 12. 00:15
| 1 |