Pokémon Evolution을 사용하여 설명된 기능 구성
11620 단어 codenewbiebeginnersjavascript
어쨌든 내 친구는 코딩 방법을 배우기 시작했고 선생님이 그녀에게 요구하는 것을 이해하는 데 도움이 필요했습니다.
이것이 그녀가 나에게 보낸 것입니다:
/*
Create a function that takes in two inputs.
One should be a function and the other should be
the argument to call the input function with.
Then in the function you define call the passed in function
with the input argument.
*/
...실례합니다만 ㅋㅋㅋ?
그녀가 보낸 예제 함수는 다음과 같습니다.
function sayHi(b,c){
c=prompt("Greet me!");
b(c);
좋아, 그게 좀 더 명확해.
자, 여기 있습니다:
내가 이해한 바에 따르면, 우리는 다른 기능을 실행하는 기능을 구축하려고 합니다. 나는 이것을 설명하기 위해 돌과 함께 포켓몬 진화의 개념을 사용했습니다.
진화는 전반적인 보편적 기능입니다.
function evolutionFn(pokemon, stone){
stone = prompt('Which stone will you use?');
return pokemon(stone);
}
포켓몬 자체는 별도의 기능이지만 여전히 동일한 진화 기능을 보편적으로 사용합니다. 진화의 가능성이 방대하기 때문에 가장 좋은 예는 Eevee입니다. (하지만 지금은 기본 1세대 진화를 참조하고 있습니다.)
const eevee = (x) => {
let userInput = x.toLowerCase();
if ( userInput === 'fire' ){
return 'Congrats! You now have a Flareon!'
}else if( userInput ==='thunder' ){
return 'Congrats! You now have a Jolteon!'
} else if( userInput === 'water' ){
return 'Congrats! You now have a Vaporeon!'
} else {
return 'Huh. It didn\'t work.'
}
}
또한 완전히 다른 포켓몬도 이 진화 방법을 활용할 수 있음을 설명하기 위해 피카츄를 만들었습니다.
const pikachu = (x) => {
let userInput = x.toLowerCase();
if ( userInput === 'thunder'){
return 'Congrats! You now have a Raichu!'
} else {
return 'Huh. It didn\'t work.'
}
}
모두 합치면 다음을 얻습니다.
function evolutionFn(pokemon, stone){
stone = prompt('Which stone will you use?');
return pokemon(stone);
}
const eevee = (x) => {
let userInput = x.toLowerCase();
if ( userInput === 'fire' ){
return 'Congrats! You now have a Flareon!'
}else if( userInput ==='thunder' ){
return 'Congrats! You now have a Jolteon!'
} else if( userInput === 'water' ){
return 'Congrats! You now have a Vaporeon!'
} else {
return 'Huh. It didn\'t work.'
}
}
const pikachu = (x) => {
let userInput = x.toLowerCase();
if ( userInput === 'thunder'){
return 'Congrats! You now have a Raichu!'
} else {
return 'Huh. It didn\'t work.'
}
}
console.log(evolutionFn(eevee));
// example: if prompt => 'fire or FIRE or even FiRe',
// it will say "Congrats! You now have a Flareon!"
// if it's anything else, the console will return "Huh. It didn't work."
console.log(evolutionFn(pikachu));
// Should return "Congrats you now have a Raichu"! etc. etc.
Repl.it에서 라이브로 플레이하세요!
함수 구성: 큰 함수를 사용하여 본질적으로 동일한 기본 항목을 출력하는 작은 함수를 실행하려는 경우.
또한, 재미있는 사실은 -- 당신은 바보짓을 당했다는 것입니다! .map(), .split(), .join(), .reverse()를 사용해 본 적이 있다면 이미 Function Composition을 경험한 것입니다! JavaScript 메소드 ALL을 사용할 때 이것이 작동하는 것을 볼 수 있습니다. 그만큼. 시각.
읽어 주셔서 감사합니다!
저와 계속 연락하고 싶다면 저를 팔로우하세요! DM은 열려있습니다.
또한 sign up for my newsletter 코딩 부트캠프와 부트캠프 이후/개인적인(때로는 난처한) 이야기를 공유하여 스스로 학습하는 방법에 대한 팁/요령을 제공합니다!
Reference
이 문제에 관하여(Pokémon Evolution을 사용하여 설명된 기능 구성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cat/function-composition-explained-using-pokemon-evolution-1jhn텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)