루비 언어 4

Ruby class의 멤버에 관한 이야기 2

루비 클래스 멤버 이야기 2 시작합니다.출처:생활코딩 이번에 설명하는 것은 클래스 변수라는 것입니다. 사실 위 코드는 객체가 생성 되면, count 변수라는 녀석이 점점 증가 합니다. 제가 3개의 객체를 생성 했으므로 총 3 이라는 숫자가 count 변수에 속하게 됩니다. 그런데 어떻게 변수가 객체 생성 전에 있는 걸까요 ? 그건 @@ 기호로 정의 되어 클래스 변수이기 때문이죠. 객체 생성 이전에 count 변수는 미리 로드 됩니다. 자바, C 기타 언어들에서 지원하는 static과 같습니다. 다른 언어를 해보셨다면, 금방 아실거라 생각합니다. 그리고 지난 번에 배웠던 클래스 메소드가 있네요 ? ^^ get 메소드형태인데, 루비 언어는 자체적으로 모든 변수(멤버변수, 클래스 변수)는 private 성질을..

Ruby class의 멤버에 관한 이야기 1

오늘 알아 볼 것은 루비 언어에서 클래스 멤버에 관해서 이야기를 하려고 합니다.출처:생활코딩 클래스는 Cs로 정의 되어 있습니다. 그리고 메소드를 살펴보면 좀 특이 합니다. 4라인에 Cs. 라는 클래스 명에 . (dot)이 찍혀있는데 그 뒤로 메소드 명이 붙네요 ? 그런데 7번라인은 일반적인 메소드네요 ? 4라인과 같은 것을 ...바로 클래스 메소드라고 합니다. 이름은 중요하지 않고.. 14행부터 보시면 클래스 사용하는 것을 보시면 더 이해가 쉽습니다. 15번 행은 좀 특이 합니다. 왜냐면 객체로 메소드를 호출하는게 아니라 Cs 클래스명으로 메소드를 호출하는 거죠. 즉, 클래스가 생성된 객체가 아니여도 그 자체로도 Call이 가능합니다. 클래스에 속했기 때문에 클래스 메소드라고 합니다. ( 그에 반해 i..

Ruby 에서 Block 표현식 사용 이야기

-Ruby Doc http://ruby-doc.org/core-2.2.0/Integer.html#method-i-upto http://ruby-doc.org/core-2.2.0/Integer.html#method-i-times ruby에서 integer class의 경우 메소드를 지원합니다. 그 중 하나가 times라는 메소드입니다만, 하는 일은 반복횟수.times { 내용 }의 형식으로 작성하게 되면, 반복을 명시한 반복 횟수만큼 실행합니다. 그 밑의 upto의 경우는 좀 더 이해하기 까다롭습니다. 무슨 의미냐 하면, 기준 숫자.upto(목표) { 내용 }의 형식으로 쓰면 기준 숫자에서 목표까지 반복하게 됩니다. 몇 번 반복 하라고 시키는 것이 아니라 이 숫자가 5까지 되도록 반복하라고 하는 말과 같습..

Ruby 프로그래밍 - 1. 숫자 , 스트링 타입

루비에서는 숫자와 스트링 타입을 지원한다. 당연하다. DL is deprecated, please use Fiddle irb(main):001:0> puts 1+1 2 => nil irb(main):002:0> puts 2+2 4 => nil irb(main):003:0> puts 100_00+101 10101 => nil _를 쓰면 숫자를 구분하는 구분자가 된다. 해석시에는 제거 된다. irb(main):007:0> puts "1".class String => nil irb(main):008:0> puts "coding"+" everyday" coding everyday => nil irb(main):009:0> .class를 붙이면 어떤 타입인지를 알려준다. + 연산자로 String을 합칠 수가 있다..

반응형