프로그래밍 효율성을 높이는 Ruby 메소드

1748 단어 ruby
올바른 Ruby 방법을 사용하면 많은 작업을 줄일 수 있습니다. 익숙한 방법이 많을수록 작업 코드를 더 빨리 생성할 수 있고 이 코드는 성능과 품질 모두에서 더 좋아집니다. 생산성을 향상시키기 위해 이전에 보지 못했던 몇 가지 유용한 방법이 있습니다.

접두사 및 접미사 방법


start_with? & end_with?는 문자열의 시작 또는 끝이 제공된 문자열과 일치하는지 여부에 따라 부울 결과를 반환합니다.delete_suffixdelete_prefix 접미사 또는 접두사가 제공된 문자열과 일치하는 경우 문자열의 시작 또는 끝에서 제거합니다.

백분율 문자열 리터럴



문자열을 생성하는 %(...) 외에도 %는 다른 유형의 객체를 생성할 수 있습니다. 문자열과 마찬가지로 대문자는 보간 및 이스케이프 문자를 허용하고 소문자는 비활성화합니다. 퍼센트 문자열의 두 가지 배열 형식의 경우 배열 항목 중 하나에 공백을 포함하려면 "\"문자로 이스케이프해야 합니다.
루비의 퍼센트 문자열 유형은 다음과 같습니다.%i - 기호 배열%q - 문자열%r - 정규 표현식%s - 기호%w - 문자열 배열%x - 백틱(서브쉘 결과 캡처)

숫자를 숫자 배열로 변환


digits 메서드는 숫자의 숫자 배열을 역순으로 반환합니다.123.digits => [3, 2, 1]

개체 탭 방법


tap 메소드를 사용하면 객체에 대한 작업을 수행한 다음 객체를 반환할 수 있습니다.
대신에:

user = User.new
user.name = "John"
user


당신은 쓸 수 있습니다:

User.new.tap { |user| user.name = "John" }


임시 변수를 사용하지 않는 작업을 수행한 후 새 개체가 반환됩니다.

여러 해시 값 변환



인벤토리를 두 ​​배로 늘리는 것과 같이 해시의 모든 값을 변환해야 하는 경우 transform_values 방법을 사용할 수 있습니다.
대신에:

inventory = {item_A: 200, item_B: 300}
inventory.each { |k,v| h[k] = v*2 }


당신이 사용할 수있는:

inventory = {item_A: 200, item_B: 300}
inventory.transform_values! { |v| v * 2 }
{:item_A=>400, :item_B=>600}

좋은 웹페이지 즐겨찾기