2016-08-14 4 views
0

초급 루비 질문 ...사용은 여기

내가 사용 S3 리소스에 액세스 할 때 나는 AWS SDK를 사용하고 객체

require 'aws-sdk' 

내 파일의 상단에 : 나는 필요가 없습니다의 aws-sdk 보석에서입니까?

이렇게하지 않고도 작동하는 것처럼 보이기 때문에 실제로 모범 사례를 궁금해하고 필요할 때 실제로 필요로 할 때가 있습니다. 아니면 완전히 잘못된 방식으로 그냥 돌아가고 있다면 ...

답변

0

커널 방법 require의 아이디어는 매우 간단합니다. 이고 파일은 require d이지만 한 번만 실행됩니다.

foo.rb

puts 'foo' 

main.rb 당신이 ruby main.rb을 실행하면

require '/path/to/foo.rb' 
require '/path/to/foo.rb' 

, 당신은 그것을 foo 만 인쇄 볼 수 있습니다 : 예를 들어, 2 개 루비 스크립트 파일이 있습니다 한 번, 두 번 필요하지만.

루비 스크립트 파일은 모듈이나 클래스를 정의하는 일반적인 상황입니다. require- 이러한 파일은 모듈/클래스를 메모리에로드합니다.

require 'aws-sdk'은 가끔 생략 할 수 있습니다. 즉, bundler이 이미 require 일을 수행했기 때문입니다.

Gemfile하여 부팅 논리

require 'bundler/setup' 
Bundler.require :default 

코드의 3 개 라인의 조합이 속임수를 썼는지에 어딘가에

gem 'aws-sdk' 

.