반응형

ruby 9

Ruby의 개체 속성별 고유한 특성

Ruby의 개체 속성별 고유한 특성 하나 이상의 속성과 관련하여 고유한 배열의 개체를 선택하는 가장 우아한 방법은 무엇입니까? 이러한 객체는 ActiveRecord에 저장되므로 AR의 메서드를 사용하는 것도 좋습니다. 블록과 함께 사용: @photos = @photos.uniq { |p| p.album_id } 추가합니다.uniq_by메소드를 프로젝트의 배열에 추가합니다.와 유사하게 작용합니다.sort_by.그렇게uniq_by~하는 것입니다.uniq~하듯이sort_by~하는 것입니다.sort용도: uniq_array = my_array.uniq_by {|obj| obj.id} 구현: class Array def uniq_by(&blk) transforms = [] self.select do |el| sh..

programing 2023.07.15

파일 존재 확인 방법

파일 존재 확인 방법 이 질문에는 이미 다음과 같은 답이 있습니다. Ruby에서 하나의 명령으로 디렉토리/파일/심링크가 존재하는지 확인하는 방법 (3개 답변) 마감됨6년 전에. "전체 경로"를 통과할 수 있는 루비 클래스/메소드가 있습니까?home/me/a_file.txt유효한 파일 경로인지 확인하시겠습니까?# file? will only return true for files File.file?(filename) 그리고. # Will also return true for directories - watch out! File.exist?(filename) 특히 경로 이름을 확인하십시오. 파일과 파일 테스트 모듈이 더 단순하거나 직접적일 수 있지만, 저는 발견했습니다.Pathname전반적으로 더 나은 인터..

programing 2023.06.30

Nokogiri 설치 실패 -libxml2가 누락되었습니다.

Nokogiri 설치 실패 -libxml2가 누락되었습니다. 저는 항상 "노코기리 설치" 튜토리얼의 문서를 따라 노코기리 설치 문제를 해결했습니다. 그런데 이번에는 종속물을 모두 설치하고도 노코기리가 설치되지 않았습니다.다음 오류가 발생합니다. libxml2 is missing. please visit libxml2 및 libxslt 디렉토리를 지정하여 설치해 보았습니다. sudo gem install nokogiri -- --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib --with-xslt-dir=/usr/ 하지만 같은 오류를 반환했습니다. 다른 관련 Stack Overflow 기사를 모두 팔로우했지만 아무도 도움이 되지 않았습니다...

programing 2023.06.15

레일 4: before_filter vs. before_action

레일 4: before_filter vs. before_action 4.0.0 이상의 레일에서 생성기는 다음을 사용하여 CRUD 작업을 생성합니다.before_action것은 아니다.before_filter그것은 같은 일을 하는 것 같습니다.그렇다면 이 둘의 차이점은 무엇일까요? 에서 알 수 있듯이ActionController::Base,before_action의 새로운 구문일 뿐입니다.before_filter. 하지만, 그before_filter구문은 Rails 5.0에서 더 이상 사용되지 않으며 Rails 5.1에서 제거됩니다.단지 구문 차이입니다. 레일 앱에는 CRUD가 있으며 기본적으로 이름 색인, 새로 만들기, 만들기, 표시, 업데이트, 편집, 파기 등 7가지 작업이 있습니다. Rails 4를 ..

programing 2023.06.15

Rspec에서 특정 테스트만 실행하려면 어떻게 해야 합니까?

Rspec에서 특정 테스트만 실행하려면 어떻게 해야 합니까? 주어진 레이블로 테스트만 실행하는 방법이 있다고 생각합니다.아는 사람?예제에 태그를 지정할 수 있습니다.:focus해시 특성.예를들면, # spec/foo_spec.rb RSpec.describe Foo do it 'is never executed' do raise "never reached" end it 'runs this spec', focus: true do expect(1).to eq(1) end end rspec --tag focus spec/foo_spec.rb GitHub에 대한 자세한 정보.(더 나은 링크를 가진 고객에게 조언을 부탁합니다.) (업데이트) 이제 Rspec은 relishapp.com 에서 완벽하게 문서화되었습니다.자..

programing 2023.05.31

RVM: gemset의 모든 gem 제거

RVM: gemset의 모든 gem 제거 저는 글로벌 보석과 다양한 보석 세트를 가지고 있습니다.보석 세트의 모든 보석을 제거하고 싶습니다.보석 세트를 제거하는 것 외에 이것을 할 수 있는 방법이 있습니까?사용gemset empty명령: rvm gemset empty mygems이 명령은 Ubuntu 10.10에서 잘 작동하는 1단계에서 로컬로 설치된 모든 루비 보석을 제거합니다. gem list | cut -d" " -f1 | xargs gem uninstall -aIx PS - 모든 로컬 보석을 제거합니다.그에 따라 sudo를 사용합니다.사용할 수도 있습니다.rvm --force gemset emptyrvm gemset empty 이렇게 하면 언급한 보석 세트에서 모든 보석이 제거됩니다.rvm gem..

programing 2023.05.31

빈 문자열 또는 0-값 문자열 테스트 중

빈 문자열 또는 0-값 문자열 테스트 중 이 질문에는 이미 다음과 같은 답이 있습니다. 루비에서 문자열의 0 또는 길이 == 0을 확인하는 더 좋은 방법이 있습니까? (17개 답변) 마감됨8년 전에. 루비에 조건부로 변수를 설정하려고 합니다.변수가 0이거나 비어 있으면 설정해야 합니다(0 길이 문자열).저는 다음을 생각해 냈습니다. variable = id if variable.nil? || (!variable.nil? && variable.empty?) 작동하는 동안 루비처럼 보이지는 않습니다.위의 내용을 좀 더 간결하게 표현하는 방법이 있습니까?두 번째 절은 다음이 필요하지 않습니다.!variable.nil?체크—평가가 해당 지점에 도달하면,variable.nil단락으로 인해 잘못된 것으로 보장됩니다..

programing 2023.05.31

루비: 해시 키를 필터링하는 가장 쉬운 방법은?

루비: 해시 키를 필터링하는 가장 쉬운 방법은? 다음과 같은 해시가 있습니다. params = { :irrelevant => "A String", :choice1 => "Oh look, another one", :choice2 => "Even more strings", :choice3 => "But wait", :irrelevant2 => "The last string" } 그리고 선택+int가 아닌 모든 키를 거부할 수 있는 간단한 방법을 원합니다.선택1 또는 선택1 ~ 선택10일 수 있습니다.다양합니다. 단어 선택과 숫자 또는 숫자 뒤에 오는 키를 어떻게 구분합니까? 보너스: 해시를 탭(\t)을 구분 기호로 사용하는 문자열로 변환합니다.저는 이것을 했지만, 그것은 몇 줄의 코드를 필요로 했습니다.보통..

programing 2023.05.31

레일 3: 랜덤 레코드 가져오기

레일 3: 랜덤 레코드 가져오기 Rails 2에서 랜덤 레코드를 찾는 몇 가지 예를 찾았습니다. 선호되는 방법은 다음과 같습니다. Thing.find :first, :offset => rand(Thing.count) 새로운 사람이기 때문에 레일 3의 새로운 찾기 구문을 사용하여 이것이 어떻게 구성될 수 있는지 잘 모르겠습니다. 그렇다면, 무작위 기록을 찾기 위한 "레일 3의 방법"은 무엇일까요?Thing.first(:order => "RANDOM()") # For MySQL :order => "RAND()", - thanx, @DanSingerman # Rails 3 Thing.order("RANDOM()").first 또는 Thing.first(:offset => rand(Thing.count)) # ..

programing 2023.05.31
반응형