즉, 학습 프로그래밍 [Ruby & Rails 복습편]~본 파라미터와 임시 파라미터의 차이는 무엇입니까?
부드러운 선배들로부터'이 부분은 루비 복습을 해볼 수도 있겠다'는 조언을 받고 곧 루비 복습을 시작한다.
그리하여 곧
"어, 무슨 말인지 몰라서 무시하는 거잖아..."
장소가 나왔습니다.
Rails를 공부해서 잘 몰랐지만 이해를 깊게 하기 위해 다시 도전했습니다.
오늘 루비의 이 매개변수와 임시 매개변수를 작성해 보겠습니다.
매개변수 정보
우선 매개 변수를 복습해 봅시다.
매개 변수는 프로그램을 통해 방법 등에 전달할 수 있는 값이다.
변수 값의 범위는 고정되어 있는데, 이를 작용역이라고 부른다.
예를 들어 어떤 def~end에서 정의된 변수는 다른 방법을 직접 사용할 수 없다.
매개 변수를 사용하면 방법에서 방법 이외의 변수, 즉 작용역 이외의 변수를 사용할 수 있다.
그리고 매개 변수는 두 개의 임시 매개 변수가 있는데, 즉 호출 방법의 부분에서 기술한 이 매개 변수와 방법의 정의 부분에서 기술한 임시 매개 변수이다.
전선을 실제로 보세요.
① def multi(input)←()内は仮引数
puts input * input
end
② puts "何か数字を入力してください"
input = gets.to_i
③ multi(input)←()内は本引数
이런 느낌이에요.
코드를 읽고 처리하는 순서는 ③→②→①이다.
③와 ②에서 작용역을 정의하고 매개 변수를 ①에 전달한다.
하나의 요점은 임시 매개 변수의 이름이 이 매개 변수와 다를 수 있다는 것이다.
방금 코드의 절차는 다음과 같습니다.
③의 input 이 방법에서 ② gets.to_i 이 수치를 넣고 ①로 결과를 표시합니다
그렇습니다.
이것은 방정식과 마찬가지로 수치를 잠정적인 이름에 대입했기 때문에'x=a로서 x+1*10=a를 풀어주세요'라는 수학 문제와 같은 느낌입니다.
그래서 아까 코드는요.
def multi(number)
puts number * number
return number * number
end
puts "何か数字を入力してください"
value = gets.to_i
multi(value)
이렇게 하면 표시할 수 있다.
주의 범위
다음은 이런 코드로 생각해 보세요.① def rename(name)
name = "もそと#{name}"
end
② name = "ポチ"
rename(name)
puts name
이 코드를 실행하면 출력 결과는 '볼록 점' 만 됩니다.
그러면 어떻게'초도와 볼록점'을 출력합니까?
이 코드의 요점은 여러 번 등장한'name'에 대한 기술이다.
같은 이름이 나왔지만 실제로는 ①와 ②로 내용이 다르다.
...뜻이 이해가 안되네.나도 몰라.
그래서 라인에서 포치에게 울며불며 하소연했다.
"아, 이건 단지 밖에서 이름을 바꾸고 있기 때문이지."
여기서 볼록점이 말하는 바깥쪽은 ②의 부분이다.① def rename(name)
name = "もそと#{name}"
end
② name = "ポチ"
rename(name)
puts name
②의 코드에서
"name=볼록점으로 rename(볼록점)을 선택합니다. 그럼name을 꺼내십시오."
이렇게 기술하고 있다.
가장 먼저 name=철점을 말했기 때문에 여기서 가리키는 name의 내용은'철점'이다.
그럼 ①부분은 어때.
rename 정의. name=도 외부 볼록 점입니다.
잘 생각해보세요.
이것은 ②와 ①에서name이 표시하는name의 내용이 다르다.
따라서 출력 결과를 '맹점' 으로 설정해야 한다① def rename(name)
name = "もそと#{name}"
end
② name = "ポチ"
name=rename(name)
puts name
이렇게 기술하면 돼!그렇군~!
--
나는 마침내 가벼운 매개 변수의 생각을 이해했다...느낌
보키도 배열과 본 파라미터/임시 파라미터는 매우 복잡하다고 말했기 때문에 나는 여기서 조급해하지 말고 조금씩 깊이 이해해야 한다고 생각한다.
도대체 이해할 수 있는 날이 올까...하지만 수행은 계속되고 있다.
Reference
이 문제에 관하여(즉, 학습 프로그래밍 [Ruby & Rails 복습편]~본 파라미터와 임시 파라미터의 차이는 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/moso/items/4de92917d4428ff31334
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
① def multi(input)←()内は仮引数
puts input * input
end
② puts "何か数字を入力してください"
input = gets.to_i
③ multi(input)←()内は本引数
def multi(number)
puts number * number
return number * number
end
puts "何か数字を入力してください"
value = gets.to_i
multi(value)
① def rename(name)
name = "もそと#{name}"
end
② name = "ポチ"
rename(name)
puts name
① def rename(name)
name = "もそと#{name}"
end
② name = "ポチ"
rename(name)
puts name
① def rename(name)
name = "もそと#{name}"
end
② name = "ポチ"
name=rename(name)
puts name
Reference
이 문제에 관하여(즉, 학습 프로그래밍 [Ruby & Rails 복습편]~본 파라미터와 임시 파라미터의 차이는 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/moso/items/4de92917d4428ff31334텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)