루비 8

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까지 되도록 반복하라고 하는 말과 같습..

루비에서 객체지향 이야기 ( 캡슐화 )

루비의 경우에는 클래스 작성시 initialize() 메소드가 무조건 추가 해야 합니다. 생성자라고 하기도 하는 녀석?입니다. 클래스를 객체로 만드는 것을 "인스턴스화"라고 하며, 인스턴스 화의 결과물은 "객체"입니다. 객체가 생성 되기 위해 루비에서는 initialize() 함수가 필요로 합니다. @표시는 클래스에 속한 변수라는 의미로 "인스턴스 변수"라고 말합니다. p는 출력 메소드입니다.p() = p는 동일 합니다. c1.value라는 것은 c1의 인스턴스 변수 값을 반환하라~는 말과 같은데, 루비에서는 클래스의 인스턴스 변수 접근에 직접적인 접근을 허용하지 않습니다.그래서 필요로 한 방법이 get/set 함수를 통한 접근이 있습니다.get/set 함수를 이용하면 캡슐화를 보장 하는 기능이 있습니다..

다시 시작 하는 Ruby 이야기 - 배열

승돌즈 프로그래밍 오늘의 주제 ruby에서는 배열을 어떻게 사용해야 하는가 ??? 도대체 모르겠다. 이녀석 Ruby에서의 배열 어찌 사용하나요??? 배열은 중요하다. 모든 언어에서 배열은 기본적으로 제공을 한다. 배열이란 무엇인가 ? 기본적으로 쉽게 설명하면 {같은 놈들이 여러개} 있는 공간 (Space)를 말한다. 프로그램의 저장소는 무조건 변수!!변수는 다시 공간!!이라고 생각하면 쉽다. 배열 어떻게 써먹나! - 배열의 생성 irb(main):023:0> arr = Array.new() => [] irb(main):024:0> arr.push(1) => [1] irb(main):025:0> ar = Array.new(3, 'seungdols company') => ["seungdols company"..

Ruby 프로그래밍 - 이클립스에 Aptana3 plugin

aptana3 http://www.aptana.com/products/studio3/download.html 위 주소로 이동하게 되면 선택 사항이 나온다. 직접 다운 할 것이냐. 이클립스 플러그인으로 할 것이냐. 이클립스 플러그인 선택 후 다운로드를 클릭하면 특정 url로 이동하는데 이 url을 복사해둔다. 그리고 이클립스를 동작 시킨 후에 메뉴바에서 help가 있을 것이다. 클릭 후에 install New software....이 보일 것이다. 클릭 후 상단 우측에 add 누른 후 팝업 창 이름에 aptana 라고 쓰고 밑에 url에 저장해둔 url을 입력하고 엔터를 누르면 2~3초 후에 aptana가 보일 것이다. 왼쪽 체크상자에 체크 한 후 Next누른 후 동의한다는 의미를 체크 해주고 Next하게..

Ruby 프로그래밍 - Rubygem 설치하기

Rubygem 설치하기https://rubygems.org/pages/download 윈도우의 경우 zip으로 다운 받아 압축을 해제 해 주시면 됩니다. 그 후 CMD 창을 열고, 혹은 찾기에서 cmd 입력해주시면 cmd가 뜨게 됩니다. 그것을 선택해주시면 됩니다. 검은 창 하나가 나타날 겁니다. 그럼 이제 cmd창에서 쓰이는 명령어를 알려드리겠습니다. cd : change directory의 약자인걸로 알고 있습니다. 즉, 디렉토리 이동명령어 입니다. dir : 디렉토리의 목록을 확인하는 명령어 입니다. 우선 이 두가지만 알고 가도록 합니다! ruby 설치된 폴더의 위치를 확인하도록 합니다. 저의 경우 C:\Ruby21-x64\bin 이렇게 경로가 되어있습니다. set PATH=C:\Ruby21-x64..

Ruby 프로그래밍 - 2. 변수의 사용!

Ruby에서 변수는 알파벳 소문자와 _ 를 사용한다. #을 쓰게 되면 주석처리를 할 수 있다. 주석처리란? 프로그래밍시 코멘트 특정 설명이나 부가 멘트를 달기 위해 쓰는 용도로 인터프리팅, 컴파일시에는 해석 되지 않고, 사람과 사람에게만 전달하는 메세지라고 할 수있다. irb(main):001:0> a = 12 => 12 irb(main):002:0> puts a + 12 24 => nil irb(main):003:0> puts a + 30 42 => nil irb(main):004:0> string = "SeungdolsCompany" => "SeungdolsCompany" irb(main):005:0> puts string SeungdolsCompany irb(main):007:0> puts stri..

반응형