일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Ruby on Rails
- minitest
- fixture
- max중첩
- Rails
- mysql
- transaction
- programmingTip
- apache spark
- Linux
- test
- Shell
- form
- 전화영어
- Scala
- Ruby
- Hadoop
- activerecord
- 점심영어스터디
- RoR
- carrierwave
- rubyonrails
- Migration
- 삽질기
- programming
- TIP
- share
- fileUploader
- uploader
- java
- Today
- Total
목록개발이야기/Ruby (3)
아침바라기의 이야기
블록은 일종의 클로저라고 할 수 있다. 실행할 내용을 하나의 함수로 묶고, 이를 객체로 만들어 원하는 시점에 호출할 수 있다. 이것이 바로 블록이다. 레고 장난감 블럭처럼 여기저기 쉽게 가져다 낌을 수 있게 만들고자 블럭이 아닐까 싶다. 블럭을 호출할땐 여러 방법이 있다. 루비에서의 블록은 1줄 식으로 표현할때 {} 을 사용하고, 두줄 이상일때는 do end를 사용한다. 예를 들자면 다음과 같다. # 1줄 짜리 {} counter = 0 4.times { counter += 1 } # 1줄 이상 do-end Application::Base.transaction do # do transaction end 그럼 이제 블록의 정의는 어떻게 해야하는걸까? 크게 두가지 형태가 있다. 1줄짜리 블록 형태로 정의 하..
루비에는 여러가지 배열 생성 방법이 있다. 먼저 기본적인 배열 생성법이다. 보통 가장 많이 사용하는 방법이다. 아래처럼 배열을 선언해준다. arr = ["a", "b", "c", "d"] # 빈 배열 생성 arr2 = [] Array 클래스의 new를 이용해서 배열을 생성하는 방법도 있다. arr_by_new = Array.new # [] nils_arr = Array.new(2) # [nil, nil] # true 값으로 초기화한다. true_arrs = Array.new(2, true) # [true, true] 다차원 배열을 만들고 싶다면? block을 이용해서 배열을 생성하면 된다. 그리고 각 배열을 Hash로 초기화 싶다면? 마찬가지다. arrs = Array.new(2) { Array.new(..
Ruby 2.2.0 기준으로 작성해보겠다. 루비를 처음 접할땐, 같은지 비교하는 메소드와 연산이 도합 4개나 되서 햇갈렸었다. (주로 다뤘던 자바는 두개로 단순한데 반해 루비는 4개씩이나 제공한다.) 각각의 용도에 대해 한번 정리를 해봤다. == (일반 비교) 일반적인 같은 값 비교 연산자. 보통 자식 클래스에서 override해서 많이 사용한다. ruby에서 값 비교할때 주로 사용하는 연산자가 바로 이것이다. 아래는 test case로 만든 예제다. 재밌는 점은 Hash의 경우 키값만 가지고 비교를 한다. def test_generic_equality str = "a" assert_true str == str assert_true str == str.clone assert_true 1 == 1.0 nu..