본문 바로가기
반응형

분류 전체보기50

#5 scala 기본 - Methods | Method와 Function의 차이점 function과 비슷하지만 차이점이 있다. 1. 정의가 다르다. Function은 함수이름, parameter list(s), =>, body 순으로 정의한다 Method는 정의할 때 def를 사용하고, def ,Method 이름, parameter list(s), return type, body 순으로 정의한다. - Method의 정의 1 2 def name(x:Int, y:Int) : Int = x-y println(name(4,2)) cs 2. 여러개의 parameter lists를 가질 수 있다. 1 2 def name(x:Int, y:Int)(z:Int) : Int = x-y+z println(name(4,2)(3)) cs 하지만, function과 마찬가지로, parameter을 아예 가지지.. 2021. 9. 25.
#4 scala 기본 - Functions Functions - 이름을 가지지지 않는 함수, 가지는 함수 둘 다 존재한다. - parameter를 안가질 수도 있고, 한개 이상의 parameter을 가질 수 있다. -이름을 가지지 않는 함수 1 (x:Int) => x*7-5 cs -이름을 가지는 함수 1 2 val name = (x:Int) => x*7-5 println(name(3)) cs - parameter을 가지지 않는 함수 1 2 val name = () => 2 println(name()) cs 이때, 함수에 parameter가 없기에 함수를 호출할 때, parameter가 있는 것처럼 호출한다면, error가 난다. 1 2 val name = () => 2 println(name(2)) cs - parameter을 한개 가지는 함수 .. 2021. 9. 25.
#3 scala 기본 - Blocks 표현들을 한꺼번에 사용할려면 { } 을 사용하면 되고, 이때 이것을 Block이라고 부른다. 그리고 이때, 마지막 줄이 block의 결과값이 된다. 1 2 3 4 5 6 7 8 9 println({ var x : Int = 8 println(x) x = x+1 println(x) x = 3 println(x) x*2 }) cs 표현들을 한꺼번에 사용할 수 있고, 마지막 줄인 x*2가 결과 값이 되므로, 마지막으로 출력되는 수는 6이다. 1 2 3 4 5 6 7 8 println({ var x : Int = 8 println(x) x = x+1 println(x) x = 3 println(x) }) cs 여기선 마지막 값이 정확히 정의되지 않았기에 마지막 출력값이 undefined이라고 출력된다. 2021. 9. 25.
#2 scala 기본 - Values, Variables Values immutable 정의 : val 를 사용한다. - 다시 정의할 수도, 계산할수도 없다. - type형은 생략되거나 추론될 수 있지만, 명시할 수도 있다. 명시할 때는 : 를 사용한다. 1 2 3 4 val x = 8 println(x) val x = 5 println(x) cs 다시 정의하면 오류가 난다. 1 2 3 4 val x = 8 println(x) x = x+1 println(x) cs 다시 계산이 되지 않는다. 오류가 난다. 1 2 3 4 val x = 8 println(x) x = 5 println(x) cs 다시 계산이 되지 않는다. 오류가 난다. val x : Int = 8 println(x) cs 형을 정의할 땐, : 를 이용한다. Variables mutable 정의 :.. 2021. 9. 25.
반응형