[Rubby] 변수 유형과 다름(글로벌 변수, 로컬 변수, 인스턴스 변수)

4875 단어 RubyRails

개시하다


이번에는 루비의 변수 종류와 각각의 차이에 대해 설명한다.
어디서 어떤 변수를 사용해야 하는지 파악하지 못하면 예상치 못한 오류가 발생할 수 있다
보수성이 떨어졌거나.
잘 파악하고 구분해서 사용하세요.
변수 자체가 무엇인지 모르면 누르십시오.

변수 유형


전역 변수


전역 변수는 "이 프로젝트에서 어디서나 사용할 수 있는 변수"를 말합니다!
어디에 정의하든지 사용할 수 있는 변수입니다.
언뜻 보기에는 편하지만 어디서나 사용할 수 있어 독특할 필요가 있다.
변수 이름이 어딘가에 덮어쓰면 오류가 발생합니다.
사용할 때 정말 글로벌한지 잘 연구할 필요가 있습니다!
정의 방법은 다음과 같습니다. 변수의 시작에만 $US 기호를 붙입니다.
test.rb
$animal = "cat"

def animal_type
  puts "This animal is #{$animal}"
end

animal_type
# 出力結果==> This animal is cat

인스턴스 변수


실례 변수는 아래에 소개한 로컬 변수와 자주 사용하는 변수 중의 하나다.
실례 변수는 모든 실례에 수치가 있을 수 있고 클래스 내의 모든 방법에서 사용할 수 있다.
정의 방법은 다음과 같습니다. 변수의 시작에만 @ 기호를 붙입니다.
test.rb
class User
  def set_name(str)
    @user = str #インスタンス変数@userをここで宣言!
  end

  def put_name
    puts @user #違うインスタンスメソッドで呼び出してみます
  end
end

user = User.new #インスタンスを作成
user.set_name("まいける") #インスタンスに対してそれぞれのメソッドを実行すると
user.put_name

# 出力結果==> まいける
#ちゃんと表示されました!

로컬 변수


로컬 변수는 변수를 선언하는 방법 또는 블록에서만 사용할 수 있습니다.
사용 범위(작용역)의 최소 변수!
정의할 때 변수의 시작은 아무것도 추가할 필요가 없습니다!
다음은 같은 방법에서 로컬 변수를 성명하고 사용하는 예이다.
test.rb
class User
  def set_name(str)
    user = str #ローカル変数userをここで宣言!
    puts user #同じメソッド内で出力してみます
  end
end

user = User.new
user.set_name("まいける")

# 出力結果==> まいける
# 同じメソッド内であれば問題ないことがわかりました!

다음은 성명하는 방법과 다른 방법에서 로컬 변수를 사용할 때 어떻게 되는지 살펴봅시다.
test.rb
class User
  def set_name(str)
    user = str
  end

  def put_name
    puts user
  end
end

user = User.new
user.set_name("まいける")
user.put_name

# 出力結果==> undefined local variable or method `user' for #<User:0x00007fda840d20f8> (NameError)
# put_nameメソッド呼び出し時のローカル変数userが宣言されていませんよ。というエラー
로컬 변수는 성명하는 방법에서만 사용할 수 있기 때문에 당연히 오류가 발생했습니다.

총결산


변수 유형
특징.
전역 변수
프로젝트 내에 어느 곳에서든 호출할 수 있다.
인스턴스 변수
같은 반 내 방법이라면 어디든 쓸 수 있다.
로컬 변수
선언된 메서드, 블록 내에서만 사용할 수 있습니다.

최후


실제로 다른 변수도 종류가 다르기 때문에 이번에는 상술한 세 가지 기본 유형을 소개합니다!
특히 실례 변수와 로컬 변수는 자주 사용된다
차이를 조금 이해하는 게 좋을 것 같아요!
끝까지 봐주셔서 감사합니다.

좋은 웹페이지 즐겨찾기