ruby 15

Ruby 문법 배우기

Ruby를 공부해보자 Ruby 기초 Ruby언어는 객체지향을 완벽하게 지원하는 언어이자 Meta Programming을 지원하는 언어이다. 그리고 동적타이핑을 사용하며, 루비의 자료형 검사는 실행시간에 수행된다는 특징을 가진다. 어떤 코드를 실행하기 전까지는 형 검사를 수행하지 않는다. 변수 x=4 p false.class #ruby에서는 거의 대부분이 객체로 처리됨 puts 'This is Ruby' unless x == 4 puts 'This is Ruby' if x == 4 루비는 인터프리터 언어이기에 ‘그냥’ 할당하면 된다. Type은 알아서 매겨준다. 출력 puts 'hell, world' language= 'ruby' puts "hello, #{language}" '따옴표의 경우 문자열 그대로..

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~3라인에 있는 함수는 전형적인 함수의 구조 입니다. 그러나 7~9라인에 있는 함수는 약간 다릅니다. 함수명 뒤에 괄호가 생략되어 있습니다. 그러나 그래도 정상적으로 실행이 됩니다. 12~14라인의 경우는 전형적인 인자를 넘겨 받는 함수 구조입니다. 그러나 18~22라인의 함수는 다릅니다. 인자를 받지만 괄호가 생략되어 있죠. 그리고 24~28라인에 걸친 함수는 return이라는 지시어 조차 없습니다. 그럼에도 불구하고 실행이 잘 되죠. 루비에서는 이러한 함수의 괄호 생략이 가능합니다. 간결성을 높이는 것이죠. 간결성을 높이 되 코드의 가독성을 조금 떨어지게 만들 수는 있죠. 그러나 명확하므로 가독성이 떨어진다고는 말하기 어렵습니다.

Ruby에서 상속 이야기

class1이 가진 것은 method1 뿐이네요 ? 하지만 우리가 파이썬에서 배웠듯이 유사합니다. 2015/07/24 - [배우고 싶은 프로그래밍 언어/Python] - python 에서 상속 이야기 결국, 10line의 출력은 m1이 출력 되겠네요 ? ^^ 바로 상속을 들어 가자면, 루비 언어에서는 class 클래스 이름 < 부모 클래스 이름 이러한 구조를 가집니다. 상속 : 무언가를 받는다. 즉, 나에게 주는 클래스는 '부모' 혹은 'super'라고 합니다. * C#의 경우는 뭐..따로 지칭하는 말이 있었던 것 같습니다. 사실 상속은 그냥 쉽게 아! 저 Class1이 가진 코드를 Class3가 상속 받는 구나. ( 돈 받는 구나 ! ) 요렇게 쉽게 이해하는 게 좋을 것 같습니다. 코드를 받는 다는 것..

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

루비의 경우에는 클래스 작성시 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 프로그래밍 - 7. 쉬어가기 구구단 메소드 만들기

반복문도 알고 메소드도 배웠다. 이제 구구단을 만들자. 이것도 우습게 여기는 사람 많지만 여기서부터가 시작이다. 구글, 페이스북도 초기는 초라했다. 언어를 떠나 프로그래밍의 가장 핵심은 논리구조다. 누구나 이해 할 수 있게 말하자면, Flow(흐름)이라고 할 수 있다. 지금 짜려는 것은 특정 단을 입력하면 해당 단의 9까지의 곱셈을 출력하는 것이다. 2단 이러면 2 * 1 = 2......2 * 9 = 18이런 형식을 말한다. 해보자. 무엇이 필요로 할까부터 생각한다!우선 반복문이 필요하다. 2 * 1 = 2 이런 표현의 경우 2의 경우는 사용자가 단을 입력 하는 것이다.즉, 내가 고려 할 게 아니다. 그럼 난 반복문으로 표현 할 것은 1~9까지다. 반복문으로 하면 for i in 1..9 이렇게 된다...

Ruby 프로그래밍 - 6. 메소드(함수)

메소드(함수)먼저 메소드에 대한 설명을 해야 할 듯 싶다. 메소드란 무엇인가? 기능이란 뜻을 가졌다. 함수 또한 기능이란 의미가 있다.그런데 보통 함수라는 명칭은 C언어쪽에서 많이 쓰이고, 그 외에는 보통 메소드라는 말을 많이 사용한다. 즉, 어떠한 동작을 한다는 것이다. 그 동작이란 ? 보통 프로그래머가 정한 일련의 행동을 말한다.프로그래밍에서 규칙 하나로 비슷한 코드는 하나의 메소드형태로 취합하는 것이 원칙이다. 구구단을 출력하는 코드가 10번 필요하다. 그럼 매번 코드를 추가 할 것인가? 아니다. 효율적으로 할 수 해결 하는 방법이 바로 메소드이다. 루비 언어에서의 메소드의 형식이 있다. 프로그래밍언어에서의 형식은 중요하다. 바로 문법 그 자체이기 때문이다.def 메소드명 [ ( [인자 [=기본값]..

반응형