반응형

ruby 12

Rspec: "array.== another_array"여야 하지만 주문과 관련이 없습니다.

Rspec: "array.== another_array"여야 하지만 주문과 관련이 없습니다. 어레이를 비교하여 동일한 요소가 어떤 순서로든 포함되어 있는지 확인하는 경우가 많습니다.Rspec에서 이를 수행하는 간결한 방법이 있습니까? 허용되지 않는 방법은 다음과 같습니다. #to_set 예: expect(array.to_set).to eq another_array.to_set 또는 array.to_set.should == another_array.to_set 어레이에 중복 항목이 포함되어 있으면 이 작업이 실패합니다. #sort 예: expect(array.sort).to eq another_array.sort 또는 array.sort.should == another_array.sort 어레이 요소가 구..

source 2023.07.13

해시에서 문자열을 기호로 변환하는 가장 좋은 방법

해시에서 문자열을 기호로 변환하는 가장 좋은 방법 Ruby에서 해시의 모든 키를 문자열에서 기호로 변환하는 가장 빠른(가장 빠른/가장 깨끗한/직접적인) 방법은 무엇입니까? 이것은 YAML을 구문 분석할 때 유용합니다. my_hash = YAML.load_file('yml') 다음과 같은 기능을 사용할 수: my_hash[:key] 다음보다는: my_hash['key'] Ruby >= 2.5(아래)에서 다음을 사용할 수 있습니다. my_hash.transform_keys(&:to_sym) 이전 버전의 루비를 사용하시겠습니까?다음은 키가 기호화된 해시를 새 해시에 복사하는 한 줄기입니다. my_hash = my_hash.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}..

source 2023.06.28

루비 문자열을 캡처된 정규식 패턴으로 바꿉니다.

루비 문자열을 캡처된 정규식 패턴으로 바꿉니다. 저는 이것을 루비로 번역하는 데 어려움을 겪고 있습니다. 다음은 제가 원하는 작업을 정확히 수행하는 JavaScript입니다. function get_code(str){ return str.replace(/^(Z_.*): .*/,"$1")​​​​​​​​​​​​​​​​​​​​​​​​​​​; } 저는 gsub, sub, replace를 시도해봤지만 아무도 제가 기대하는 것을 하지 않는 것 같습니다. 다음은 제가 시도한 작업의 예입니다. "Z_sdsd: sdsd".gsub(/^(Z_.*): .*/) { |capture| capture } "Z_sdsd: sdsd".gsub(/^(Z_.*): .*/, "$1") "Z_sdsd: sdsd".gsub(/^(Z_.*):..

source 2023.06.23

마이그레이션을 통해 열에 기본값 추가

마이그레이션을 통해 열에 기본값 추가 마이그레이션을 통해 이미 존재하는 열에 기본값을 추가하려면 어떻게 해야 합니까? 제가 찾을 수 있는 모든 문서에는 열이 존재하지 않지만 이 경우에는 존재하는 방법이 나와 있습니다. 다음은 이 작업을 수행하는 방법입니다. change_column :users, :admin, :boolean, :default => false 하지만 Postgre와 같은 일부 데이터베이스는SQL에서는 이전에 만든 행에 대한 필드를 업데이트하지 않으므로 마이그레이션할 때도 수동으로 필드를 업데이트해야 합니다.change_column_default :employees, :foreign, false 레일 4+의 경우, def change change_column_default :table, :..

source 2023.06.18

루비 스크립트 파일을 레일 콘솔에 전달

루비 스크립트 파일을 레일 콘솔에 전달 루비 파일, foo.rb를 레일 콘솔에 전달하는 방법이 있습니까?예상되는 결과는 콘솔이 파일을 실행하기 위해 레일 환경을 시작한 후입니다. 또는 명령 프롬프트에서 트리거된 레일 환경에서 파일을 실행할 수 있는 다른 방법.사실, 가장 간단한 방법은 그것을 실행하는 것입니다.load내부에rails console load './path/to/foo.rb' 사용할 수 있습니다. bundle exec rails runner "eval(File.read 'your_script.rb')" 업데이트: 최근에는 스크립트 자체에서 레일 환경을 로드하는 것도 많이 사용하고 있습니다.고려하다doit.rb: #!/usr/bin/env ruby require "/path/to/rails_a..

source 2023.06.13

루비 전송 vs __send__

루비 전송 vs __send__ 는 의개념이해다니합의 합니다.some_instance.send일을 데 하는 것 을 암시합니다.루비 코안은 같은 일을 하는 데 많은 다른 방법을 제공하는 것 이상의 어떤 이유가 있다고 암시합니다.다음은 두 가지 사용 예입니다. class Foo def bar? true end end foo = Foo.new foo.send(:bar?) foo.__send__(:bar?) 이 일에 대해 아는 사람? 클래스: 표준 라이브러리의 클래스으로 정의합니다.send 방법한관과 .Object#send그래서 만약 당신이 어떤 클래스의 객체로 작업을 하고 싶다면, 당신은 사용해야 합니다.__send__안전한 편에 설 수 있습니다. 이제 질문을 남깁니다, 왜 거기에send 만아라니가 .__se..

source 2023.06.13

이전 버전의 루비 보석 제거

이전 버전의 루비 보석 제거 루비 보석의 여러 버전이 있습니다. $ gem list rjb (1.3.4, 1.3.3, 1.1.9) 이전 버전을 제거하고 최신 버전을 유지하려면 어떻게 해야 합니까?# remove all old versions of the gem gem cleanup rjb # choose which ones you want to remove gem uninstall rjb # remove version 1.1.9 only gem uninstall rjb --version 1.1.9 # remove all versions less than 1.3.4 gem uninstall rjb --version '

source 2023.06.03

명령줄을 통해 변수를 Ruby 스크립트로 전달

명령줄을 통해 변수를 Ruby 스크립트로 전달 Windows에 RubyInstaller를 설치하고 IMAP Sync를 실행하고 있지만 수백 개의 계정을 동기화하는 데 사용해야 합니다.명령줄을 통해 이러한 변수를 전달할 수 있다면 전체 프로세스를 더 잘 자동화할 수 있습니다. # Source server connection info. SOURCE_NAME = 'username@example.com' SOURCE_HOST = 'mail.example.com' SOURCE_PORT = 143 SOURCE_SSL = false SOURCE_USER = 'username' SOURCE_PASS = 'password' # Destination server connection info. DEST_NAME = 'use..

source 2023.06.03

루비에서 include와 extend의 차이점은 무엇입니까?

루비에서 include와 extend의 차이점은 무엇입니까? 루비 메타프로그래밍에 대해 생각해 보는 중입니다.믹스인/모듈은 항상 저를 혼란스럽게 합니다. include: 대상 클래스의 인스턴스 메서드로 지정된 모듈 메서드의 혼합 extend: 대상 클래스의 클래스 메서드로 지정된 모듈 메서드에서 혼합 그래서 가장 큰 차이점은 이것뿐인가요 아니면 더 큰 용이 숨어 있나요? 예를 들어. module ReusableModule def module_method puts "Module Method: Hi there!" end end class ClassThatIncludes include ReusableModule end class ClassThatExtends extend ReusableModule end pu..

source 2023.06.03

AWS S3: 액세스하려는 버킷은 지정된 끝점을 사용하여 주소를 지정해야 합니다.

AWS S3: 액세스하려는 버킷은 지정된 끝점을 사용하여 주소를 지정해야 합니다. 업로드한 이미지 파일을 AWS-SDK-Core Ruby Gem으로 삭제하려고 합니다. 다음 코드가 있습니다. require 'aws-sdk-core' def pull_picture(picture) Aws.config = { :access_key_id => ENV["AWS_ACCESS_KEY_ID"], :secret_access_key => ENV["AWS_SECRET_ACCESS_KEY"], :region => 'us-west-2' } s3 = Aws::S3::Client.new test = s3.get_object( :bucket => ENV["AWS_S3_BUCKET"], :key => picture.image_url...

source 2023.06.03
반응형