방법 중 변수의 작용역
변수
변수란 문자와 수치를 넣은 상자를 가리키며 같은 값을 반복해서 사용할 수 있으며, 변경에 대응하기 쉬워 코드를 쉽게 쓸 수 있다.
서법
변수 이름은 값으로 정의됩니다.fruits = "ringo" #文字列にはダブルクオーテーションマーク
count = 3
타입
변수는 하나의 유형이 있는데, 명명 방식은 고정적이다.
로컬 변수...소문자 또는 밑줄개시하다
글로벌 변수... 달러개시하다
인스턴스 변수... @개시하다
클래스 변수... @@개시하다
가변량원래 이름의 특정 이름은 값을 변경할 수 없습니다.
상수대문자로 시작합니다. (상수는 방법에서 정의할 수 없기 때문에 생략합니다.)
역할 영역
각 변수가 사용할 수 있는 범위를 가리킨다.
작용 범위를 이해하지 못하면 고장이나 의외의 동작을 초래할 수 있다.
각 변수의 작용역에 관하여
로컬 변수
변수로 선언된 블록, 메소드 정의, 클래스 정의 끝만 사용할 수 있습니다.정의된 부분만 인용할 수 있는 변수입니다.(글로벌 변수와 반대)
sample.rbdef 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_...현재 실행 중인 원본 파일을 나타내는 문자 코드
Reference
이 문제에 관하여(방법 중 변수의 작용역), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rainbow___0/items/0edf93cf75fca2643e1a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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_...현재 실행 중인 원본 파일을 나타내는 문자 코드
Reference
이 문제에 관하여(방법 중 변수의 작용역), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rainbow___0/items/0edf93cf75fca2643e1a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)