[Rubby] 변수 유형과 다름(글로벌 변수, 로컬 변수, 인스턴스 변수)
개시하다
이번에는 루비의 변수 종류와 각각의 차이에 대해 설명한다.
어디서 어떤 변수를 사용해야 하는지 파악하지 못하면 예상치 못한 오류가 발생할 수 있다
보수성이 떨어졌거나.
잘 파악하고 구분해서 사용하세요.
변수 자체가 무엇인지 모르면 누르십시오.
변수 유형
전역 변수
전역 변수는 "이 프로젝트에서 어디서나 사용할 수 있는 변수"를 말합니다!
어디에 정의하든지 사용할 수 있는 변수입니다.
언뜻 보기에는 편하지만 어디서나 사용할 수 있어 독특할 필요가 있다.
변수 이름이 어딘가에 덮어쓰면 오류가 발생합니다.
사용할 때 정말 글로벌한지 잘 연구할 필요가 있습니다!
정의 방법은 다음과 같습니다. 변수의 시작에만 $US 기호를 붙입니다.
test.rb$animal = "cat"
def animal_type
puts "This animal is #{$animal}"
end
animal_type
# 出力結果==> This animal is cat
인스턴스 변수
실례 변수는 아래에 소개한 로컬 변수와 자주 사용하는 변수 중의 하나다.
실례 변수는 모든 실례에 수치가 있을 수 있고 클래스 내의 모든 방법에서 사용할 수 있다.
정의 방법은 다음과 같습니다. 변수의 시작에만 @ 기호를 붙입니다.
test.rbclass 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.rbclass User
def set_name(str)
user = str #ローカル変数userをここで宣言!
puts user #同じメソッド内で出力してみます
end
end
user = User.new
user.set_name("まいける")
# 出力結果==> まいける
# 同じメソッド内であれば問題ないことがわかりました!
다음은 성명하는 방법과 다른 방법에서 로컬 변수를 사용할 때 어떻게 되는지 살펴봅시다.
test.rbclass 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が宣言されていませんよ。というエラー
로컬 변수는 성명하는 방법에서만 사용할 수 있기 때문에 당연히 오류가 발생했습니다.
총결산
변수 유형
특징.
전역 변수
프로젝트 내에 어느 곳에서든 호출할 수 있다.
인스턴스 변수
같은 반 내 방법이라면 어디든 쓸 수 있다.
로컬 변수
선언된 메서드, 블록 내에서만 사용할 수 있습니다.
최후
실제로 다른 변수도 종류가 다르기 때문에 이번에는 상술한 세 가지 기본 유형을 소개합니다!
특히 실례 변수와 로컬 변수는 자주 사용된다
차이를 조금 이해하는 게 좋을 것 같아요!
끝까지 봐주셔서 감사합니다.
Reference
이 문제에 관하여([Rubby] 변수 유형과 다름(글로벌 변수, 로컬 변수, 인스턴스 변수)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomokichi_ruby/items/a2548176d85457f622a4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
전역 변수
전역 변수는 "이 프로젝트에서 어디서나 사용할 수 있는 변수"를 말합니다!
어디에 정의하든지 사용할 수 있는 변수입니다.
언뜻 보기에는 편하지만 어디서나 사용할 수 있어 독특할 필요가 있다.
변수 이름이 어딘가에 덮어쓰면 오류가 발생합니다.
사용할 때 정말 글로벌한지 잘 연구할 필요가 있습니다!
정의 방법은 다음과 같습니다. 변수의 시작에만 $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が宣言されていませんよ。というエラー
로컬 변수는 성명하는 방법에서만 사용할 수 있기 때문에 당연히 오류가 발생했습니다.총결산
변수 유형
특징.
전역 변수
프로젝트 내에 어느 곳에서든 호출할 수 있다.
인스턴스 변수
같은 반 내 방법이라면 어디든 쓸 수 있다.
로컬 변수
선언된 메서드, 블록 내에서만 사용할 수 있습니다.
최후
실제로 다른 변수도 종류가 다르기 때문에 이번에는 상술한 세 가지 기본 유형을 소개합니다!
특히 실례 변수와 로컬 변수는 자주 사용된다
차이를 조금 이해하는 게 좋을 것 같아요!
끝까지 봐주셔서 감사합니다.
Reference
이 문제에 관하여([Rubby] 변수 유형과 다름(글로벌 변수, 로컬 변수, 인스턴스 변수)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomokichi_ruby/items/a2548176d85457f622a4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여([Rubby] 변수 유형과 다름(글로벌 변수, 로컬 변수, 인스턴스 변수)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tomokichi_ruby/items/a2548176d85457f622a4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)