방법 중 변수의 작용역

변수명, 방법명을 붙이지 않아 보기 어려웠지만 자신의 이해에 따라 정리했다.

변수


변수란 문자와 수치를 넣은 상자를 가리키며 같은 값을 반복해서 사용할 수 있으며, 변경에 대응하기 쉬워 코드를 쉽게 쓸 수 있다.

서법


변수 이름은 값으로 정의됩니다.
fruits = "ringo"   #文字列にはダブルクオーテーションマーク
count = 3

타입


변수는 하나의 유형이 있는데, 명명 방식은 고정적이다.
로컬 변수...소문자 또는 밑줄개시하다
글로벌 변수... 달러개시하다
인스턴스 변수... @개시하다
클래스 변수... @@개시하다
가변량원래 이름의 특정 이름은 값을 변경할 수 없습니다.
상수대문자로 시작합니다. (상수는 방법에서 정의할 수 없기 때문에 생략합니다.)

역할 영역


각 변수가 사용할 수 있는 범위를 가리킨다.
작용 범위를 이해하지 못하면 고장이나 의외의 동작을 초래할 수 있다.

각 변수의 작용역에 관하여


로컬 변수


변수로 선언된 블록, 메소드 정의, 클래스 정의 끝만 사용할 수 있습니다.정의된 부분만 인용할 수 있는 변수입니다.(글로벌 변수와 반대)
sample.rb
def profile

  greeting = "こんにちは"

  puts  "#{greeting} , りかです"
end

profile
수행결과↓
こんにちは、りかです

전역 변수


프로그램의 어느 곳에서든 인용할 수 있으며, 같은 이름이라면 반드시 같은 변수로 간주될 것이다.(로컬 변수와 반대)
※ 전체 프로그램의 어느 곳에서든 값을 변경할 수 있기 때문에 비교적 큰 프로그램에서 전역 변수를 활용하면 절차가 더욱 복잡해지거나 절차의 절차를 따라 수정하는 것이 매우 어려워지기 때문에 인기가 없습니다.
sample.rb

$greeting = "こんにちは"

 def profile
  puts  "#{$greeting},りかです"
 end

profile
수행결과↓
こんにちは、りかです

인스턴스 변수


실례클래스(설계도)를 바탕으로 제작된 실체.
인스턴스 변수...데이터(변수)와 비헤이비어(메서드)가 있습니다.(ex. 차라면 차종, 색깔, 속도를 방법으로 쓴다)
같은 실례에 있다면 방법 정의를 통해 이 값을 참고하거나 수정할 수 있습니다.
sample.rb

class Introduce

 def initialize(greeting)
  @greeting = greeting
 end

  def profile
    puts "#{@greeting},りかです"
  end

end


aisatsu= Introduce.new("こんにちは")
aisatsu.profile
kibun= Introduce.new("お元気ですか")
kibun.profile

수행결과↓
こんにちは、りかです
お元気ですか、りかです

클래스 변수


분류예를 들어 실례(실체)를 만들기 위한 설계도.
클래스 변수...이 종류의 모든 실례에서 값을 인용하거나 수정할 수 있습니다.
sample.rb

class Introduce
  @@greeting = "こんにちは"

 def profile
  puts  "#{@@greeting},りかです" 
 end
end


int = Introduce.new
int.profile


수행결과↓
こんにちは,りかです

가변량


self...처리 컨텐트의 실행 바디
nil...NilClass류의 실례로 "아무것도 없는 상태"를 나타낸다.
true...TrueClass 클래스의 인스턴스로서 "진짜"를 나타냅니다.
false..."FalseClass 클래스의 인스턴스,""거짓""
_FILE_...현재 원본 파일 이름을 표시합니다
_LINE_...현재 실행 중인 원본 파일의 줄 번호를 표시합니다
_ENCODING_...현재 실행 중인 원본 파일을 나타내는 문자 코드

좋은 웹페이지 즐겨찾기