루비는 프로그래밍 언어이며 파이썬, 루아와 문법적으로 비슷하여 비교됨.루비의 Hello World는이며, 출력은와 같다.루비의 설계 철학은언어로 무엇을 할 수 있는가언어를 쓸 때 어떠한 느낌을 주는가이다.루비는 다른 언어들이 할 수 있는 거의 모든 것을 할 수 있으며개
루비는 순수 객체지향 언어이다.원시적인 자료 타입이 존재하지 않고 모든 것이 객체로 이루어져 있다.루비는 숫자 데이터 타입은 숫자 그대로 받아들인다.의 출력은 이다.문자열 타입은 2가지 형태로 사용 가능하다.일 때, 출력은와 같다.즉, '와 "은 구분되지 않는다.보통
루비에는 입력한 루비 구문을 바로 결과로 출력해주는 프로그램이 존재합니다.대화형 세션에서 루비 코드를 사용하여 루비를 배워볼 수 있습니다.루비를 사용하기 위해선 먼저 설치가 필요합니다.irb(Interactive Ruby의 약자)macOS를 사용한다면, 터미널 애플리케
변수의 선언은변수 = 값와 같이 대입하면 된다.는 x라는 변수에 2의 값을 대입한 것 이다.변수의 종류에는지역변수전역변수인스턴스 변수클래스 변수가 있다.지역 변수는 위의 식 x = 2 와 같이 선언하면 지역 변수로써 선언한 것이다.예시) $foo = 'foo in to
루비에는 다양한 종류의 연산자가 존재한다. 먼저, 대입 연산자를 알아보겠다.변수에 값을 집어 넣기 위해서 대입 연산자(=)를 사용한다.산술 연산자에는덧셈(+)뺄셈(-)곱셈(\*)제곱(\*\*)나눈 몫(/)나눈 나머지(%)가 있다.비교 연산자에는 같으면(==)다르면(!=
만약 \~~라면을 의미하는 if 문의 구조는 다음과 같습니다. 만약 \~~가 아니라면을 의미하는 unless문의 구조는 다음과 같습니다.if문을 통한 짝수일 경우 판별입니다.unless문을 통한 짝수가 아닐 경우 판별입니다.반복문에는 for, while가 존재합니다.w
모든 문장은 명사와 동사로 이루어져 있다.루비의 세계에서는 객체가 명사이고메소드가 동사이다.method위의 사진처럼 메소드는 객체를 메소드에 집어 넣으면메소드에서 어떠한 일이 수행되고 수행이 끝난 객체가 나오게 된다.def 메소드 이름 (매개변수)을 통해 메서드를 선언
해시는 키-값 쌍을 가지는 콜렉션으로, 배열과는 다르게 항목간의 순서는 없으며, 유일한 키에 대응하는 하나의 값을 가지도록 되어있는 데이터타입 입니다.해시는 대괄호 내부에 표현하며, 키-값 쌍은 아래와 같이 표현합니다. 키에 해당하는 값을 조회하기 위해서는 hash_n
블록은 클로저 혹은 익명함수와 비슷합니다. 즉 이름 없는 메서드를 생성하는 방법이라고 할 수 있으며do...end 혹은 {} 로 정의합니다.블록은 처리를 하나의 단위로 묶은 것으로메서드 호출 시 한번만 지정할 수 있는 인자의 일종입니다. 이런 메서드 호출을 블록 메서드
Ruby의 모든 것은 Object입니다. Object 는 attribute와 method를 가지고 있습니다.initialize는 class가 생성하는 각각의 객체를 초기화하는 함수로 생각할 수 있습니다.변수에 @를 사용하여 해당 변수가 인스턴스 변수임을 나타냅니다. 이
Cat is-a Animal의 관계가 성립할 때 상속을 사용합니다. 상속은 < 키워드를 사용하여 표현합니다.루비에서는 클래스 정의 시에 슈퍼클래스를 지정하지 않으면 자동으로 Object 클래스를 상속받습니다.루비에서 클래스는 단 하나의 부모클래스만 가질 수 있습니
모듈은 메소드의 컬렉션이라고 할 수 있습니다.특정 상수와 메서드가 필요할 때에 모듈을 사용할 수 있습니다.모듈은 메서드와 상수를 namespace 로 분리하는 역할을 합니다. module 은 클래스와 유사해 보이지만모듈에는 인스턴스를 만들 수 없고하위 클래스를 만들 수
모듈이 추가 동작 및 정보를 클래스에 혼합하는 데 사용되면 이를 mixin 이라고합니다.Mixins를 사용하면 코드를 다시 작성하지 않고도 클래스를 사용자 정의 할 수 있습니다.extend 키워드는 클래스 레벨에서 모듈의 메소드를 혼합합니다. 모듈에 정의한 메소드는 인
예외 객체는 Exception 클래스와 그 서브 클래스의 인스턴스 입니다.raise의 인수로 지정한 문자열을 메시지로 해서 RuntimeError 예외를 발생시킵니다. 첫 인수로 예외 클래스를 지정할 경우, 두번째 인수로 메시지를 지정합니다.예외 처리에는 begin..