루비
-
Programming Ruby (16) 표현식 - 3Ruby 2016. 11. 2. 20:42
[출처] Programming Ruby (본 게시물은 저작권의 문제 발생시 출판사의 요청에 의해 삭제될 수 있습니다.) 조건적 실행 논리 표현식 루비에서는 매우 간단한 참의 정의를 가지고 있다. nil과 상수 false가 아닌 모든 것은 참(true)이다. 예를 들어 "cat", 99, 0, :a_song은 모두 true이다. nil이 false로 다뤄지는 것은 매우 편리하다. 예를 들어 IO#gets는 파일의 다음 행을 읽어오는데 더 이상 읽어올 행이 없을 때는 nil을 반환한다. 따라서 다음과 같은 반복문 작성이 가능하다. while line = gets # 처리 end 하지만 주의할 점은 숫자 0이 false로 해석되지 않는다는 점이다. 길이가 0인 문자열도 마찬가지이다. and, or, not 루..
-
Programming Ruby (15) 표현식 - 2Ruby 2016. 10. 31. 23:38
[출처] Programming Ruby (본 게시물은 저작권의 문제 발생시 출판사의 요청에 의해 삭제될 수 있습니다.) 대입 대입문은 좌변값(lvalue)에 위치한 변수나 속성이 우변값(rvalue)을 참조하게 한다. 그리고 그 값을 대입식의 결과값으로 반환한다. 이 말은 대입문도 연결해서 쓸 수 있다는 의미다. a = b = 1 + 2 + 3 a #=> 6 b #=> 6 a = (b = 1 + 2) + 3 a #=> 6 b #=> 3 File.open(name = gets.chomp) 루비에서 대입은 두 가지 형식으로 이뤄진다. 첫째는 변수나 상수에 객체 참조(object reference)를 대입하는 것이다. 이러한 형식은 언어 자체에 내장되어 있다. instrument = "piano" MIDDLE..
-
Programming Ruby (14) 표현식 - 1Ruby 2016. 10. 31. 23:37
[출처] Programming Ruby (본 게시물은 저작권의 문제 발생시 출판사의 요청에 의해 삭제될 수 있습니다.) 표현식 루비가 다른 언어들과 다른 특징 중 하나는 값을 반환할 수 있어 보이는 모든 곳에서 값을 반환한다는 것이다. 따라서 거의 모든 것이 표현식이 된다. 이것이 실제로 의미하는 바는 무엇일까? 이러한 특징을 통해 구문을 연속해서 쓸 수 있다는(chain statements) 점은 쉽게 유추할 수 있다. a = b = c = 0 # => 0 [3, 1, 7, 0].sort.revers # => [7, 3, 1, 0] C나 자바에서의 일반적인 구문이 루비에서는 표현식이다. 예를들어 if 와 case 구문ㅇ느 둘 다 마지막에 평가된 표현식의 값을 반환한다. 연산자 표현식 루비는 기본적인 연..
-
Programming Ruby (10) 모듈Ruby 2016. 10. 25. 23:13
[출처] Programming Ruby (본 게시물은 저작권의 문제 발생시 출판사의 요청에 의해 삭제될 수 있습니다.) 모듈 모듈은 메서드와 클래스, 상수를 함께 하나로 묶는 수단이다. 모듈은 다음과 같은 두 가지 장점이 있다. 1) 모듈은 이름 공간을 제공해서 이름이 충돌하는 것을 막아준다. 2) 모듈은 믹스인 기능을 구현하는데 이용한다. 이름공간 서로 다른 파일에 정의된 변수의 중복을 막기 위해 모듈 구조를 사용한다. 모듈은 이름 공간을 정의하는데 이것은 다른 메서드나 상수에 의해 방해 받을 염려 없이 메서드와 상수를 정의할 수 있는 일종의 샌드박스이다. trig.rb module trig PI = 3.141592654 def Trig.sin(x) # ... end def Trig.cose(x) # ..
-
Ruby Naming Guide - 루비 네이밍 가이드Ruby 2016. 10. 17. 21:53
루비 네이밍 가이드 from Programming Ruby 1 - 지역변수, 메서드 매개 변수, 메서드 이름은 모두 소문자나 밑줄로 시작해야 한다. ex) name, fish_and_chips, x_axis, _x, _26 2 - 전역 변수는 달러 표시($)로 시작해야 한다. ex) $debug, $CUSTOMER, $_, $plan9 3 - 인스턴스 변수는 앳(@)으로 시작해야 한다. ex) @name, @point_1, @X, @plan9 @_ 4 - 클래스 변수는 두 개의 앳 표시(@@)로 시작한다. ex) @@total, @@symtab, @@N, @@x_pos, @@SINGLE 5 - 클래스 이름, 모듈 이름, 상수는 대문자로 시작한다. ex) String, MYClass, DEBUG, FEET..
-
What is RubyRuby 2016. 10. 6. 18:27
[출처] https://namu.wiki/w/Ruby 소개 컴퓨터를 배운지 얼마 되지 않았을 때, 나는 프로그래밍 언어에 관심을 갖게 되었습니다. 당시 이상적인 프로그래밍 언어는 반드시 이룰 수 있는 것이라고 믿었고, 가능하면 그런 언어를 만드는 디자이너가 되고 싶었습니다. 나는 행복해지기 위해서 살아간다고 믿습니다. 이런 믿음에 따라, 루비는 프로그래밍을 쉬우면서도 즐거운 일로 만들기 위해 디자인 되었습니다. 루비는 여러분이 프로그래밍의 창조적인 면에만 집중할 수 있도록 해주고, 스트레스를 줄여줄 것입니다. - 마츠모토 유키히로, Programming Ruby의 추천사에서 루비는... 간결함과 생산성을 강조한 동적인 오픈 소스 프로그래밍 언어입니다. 루비의 우아한 문법으로 자연스럽게 읽히고 쓰기 편한 ..