《Programming Wizards!》Functions
Advertisement
“What happened to your face?”
“Accident during a venture.”
“Well,” he poured two drinks and offered one. “I’m glad you’re safe.”
He took a seat across Vick and accepted it. “We need to get the system we found into the database.”
“Sure, we’ll get that in. Do you know what return type it had?”
“Seemed like a new one. I’m not sure if it was a function or method.”
“Speaking of functions,” he laughed, “I taught my class them today.” He was in the mood to meet his friend with a lighthearted story. Avoiding the reminder the day had set in front of them.
“Oh, yeah?” said Amare, feeling curious about his story. Vick never brought up his class, but for some reason it was different this year, and he too wished to forget about this day. “How’d it go?”
“Well, one of the students asked me if you could return a reference to a value. Then, another one asked if you could return a function. What are these kids? Where are they getting their questions from?”
“Did you teach them about delegates?”
“No way,” he shook his head. “Well, kind of, but that would be jumping way ahead.”
“It’ll get them venturing as soon as possible.”
“Yeah, I’ll teach them about classes soon, then send a request to Control.”
An open document on the desk consisted of code. “Is this the code you showed them?”
float Add(float x1, float x2) { return x1 + x2; }
“Yes, just a simple addition function. Takes two float parameters, returns a single float value. Funny thing is, someone asked if you could make a single function that can take any number of parameters instead of a set amount. And, another student answered that you could use an array for that.”
float Add(float[] x) { float value = 0f; foreach (float v in x) { value += v; } return value; }
“And then, I thought I had to explain what a ‘for each loop’ was, but they guessed that it would enumerate through the entire array. Basically a ‘no condition for loop,’ as one called it.”
Advertisement
“Did they use the word ‘enumerate’ to explain it, too?”
“No way,” he shook his head. “If that were the case, they’d be on an expedition right now.”
“Did they understand return types?”
“I explained to them that in this language, the ‘float’ before the name is its return type. Meaning, the function has to return a float. This could be any other data type, but for this, it was a float. And, when ‘return’ is called, the function stops executing and gives the caller the returned value. And then guess what?”
“What?” He leaned in.
“‘Does the return always need to be at the end?’ he said.”
“Who said?”
He pointed two fingers above his eyes. “The kid with the sharp brows.”
“What kid?”
“This kid,” he said and opened a document that listed pictures of the students alongside their names. “Roy.”
“Roy, what a conscientious kid!”
float AddBelowFive(float[] x) { float value = 0f; foreach (float v in x) { value += v; if (value > 5f) { return -1f; } } return value; }
“So, I explained to them that there can be as many returns in the function, but the function must conclude by returning a float.” He rubbed his eyes to clean the escaping tears, both from the unexpected hilarity and sharp-wittedness. “They actually asked,” he continued, “if you could pass a function as a parameter because the square brackets on the array made it look like a function. They thought if an array can be passed in, maybe a function can be too.”
His spit went flying with his laughter. “A red herring landed them straight into advanced techniques? What did you tell them?“
“I explained to them that a function is like a class. Although, they had no idea what a class was. So, I explained to them that when I write ‘Console.WriteLine,’ the ‘Console’ part is referencing a class. The Console class contains functions within it. One of them is ‘WriteLine.’ I use that function to print text onto the screen. A function—and I probably jumped too ahead—is like a class. By putting parentheses at the end of a function’s name, you are calling it to be executed. It’s like writing the ‘WriteLine,’ but without a name of its own.”
Advertisement
“Did they figure out you can reference functions?”
He smiled as if he were caught. “Yes, yes they did. I told them that a function can be treated like any other variable. That the ‘type’ of a function is made of its return type and parameters. I quickly wrote an example for them.”
float Add(float x1, float x2) { return x1 + x2; } Func add2 = Add;
“I told them that in this language, a ‘Func’ is a type. I didn’t call it a delegate to not convolute the terminology, but yes, a ‘Func’ is a delegate which is a type. We give this Func three parameters, and the last parameter is the return type, whereas all the parameters before that are the parameters for the function. Hence, ‘float, float, float.’ Now, ‘add2’ can be executed like the ‘Add’ function by using parentheses.”
“Observant students!”
“They sure are.” He stood up and they both caught a glimpse of the date upon the desk as its screen went dark. “Anyway, lunch?”
A burrito filled with all sorts of vegetables, and on the opposite, a single sandwich. “Once we figure out where the system leads us, we can finally figure out who the caller is.” He sighed. “How long has it been?”
“Feels like a much longer time, but today marks four years.”
“Remember Dorothy?”
“Yeah, what about her?”
“Right,” he said and began playing with the onions inside the wrap.
Vick said nothing, not wanting to intrude on whatever it was Amare was feeling. He sniffed, and Vick saw the gleam in his eyes and how his thick brows frowned as he darted his head from one end of the cafeteria to the other. Held back those tears from flowing in the middle of the crowd. A dozen seconds passed and he was inclined to break the tension. “You—”
“I—”
“Loved—”
“Loved—”
“Her.”
“Her.”
They looked at each other and faintly smiled simultaneously, just as they had said those words. And, Amare turned away. “What made you think of her?”
“I saw a hand reach out to me through the hole in the sky.”
“Hole in the sky?”
“Yes,” he pointed up. “Above the clouds, from the stars.”
“In the gyroplane? When did it happen?”
“Yesterday, I went up there alone. I tried to reach for her but Rorohiko stopped me. I crashed onto the floor and had glass splinters fly into my face. Then, her light called out to me and I was able to pull myself up.” He paused to look up at the bright lights that were fifteen meters high. “The Cleaner-Lower,” he said. “She made it shine for me.”
The thought of a cleaning robot being his savior made Vick chuckle. “You’re a hopeless romantic.” Amare stared at the lights with a miserable smile, either taking his words seriously or not listening. “I’m kidding,” he said quietly. “Well, now I know what you meant by ‘accident,’” he said louder, trying to divert the situation from prolonged awkwardness.
“You’re eating that sandwich again.”
“Yes,” he said, caught off-guard by the sudden change in tone. “It’s quite delicious.”
“Don’t you ever get bored of it?”
“No. I mean, why change something that’s not broken?”
“To try something new, find something better.”
“I guess, but…”
“But?”
“I’m already eating this.”
“Next time!” he said a bit too loudly and it washed away every wrinkle of sadness from his face. “Next time I’ll prepare a tasty meal for you. How does that sound?”
“Yeah, yeah,” he said softly. “That sounds wonderful.”
Advertisement
- In Serial409 Chapters
Cultivation Pet Shop
"What? That chicken is actually a phoenix?"
8 1366 - In Serial24 Chapters
Viridian Gate Online: Doom Forge (Book 6)
February, 2043 Jack and the crew of the Crimson Alliance have finally made it back from the Realm of Order, but the threat to Eldgard is deadlier than ever. Vogthar incursions are increasing, dungeons falling in droves, towns and cities ravaged by Darklings—Players and NPCs who have willingly sided with the Dark Overmind Thanatos, for power and riches. But thanks to a priceless artifact Jack found after defeating the Lich Priest, there might be a glimmer of hope on the horizon. Jack and company have unearthed a Doom-Forged relic, one part of an ancient weapon, capable of killing even a god—or subduing a rogue Overmind. But to assemble the legendary god-killer, they’ll need to find the other relics and locate the fabled Doom Forge of the mad godling Khalkeús deep beneath the Dwarven, all while unraveling a mystery five-hundred years in the making.
8 141 - In Serial18 Chapters
Aerial
When her islands are attacked and her people killed by the ruthless faction of Vardra, Sefarina Wavegrey joins the crew of an aerial warship fighting for their enemy faction, Linaria. Having never left her sheltered islands, Sefarina finds herself suddenly thrust into a world she has never seen before with races and creatures that she never knew existed. But with her need for revenge driving her into perilous situations, how long can she possibly survive?
8 183 - In Serial7 Chapters
Skyspurned
The sky cities are the last and greatest refuge of mankind, enormous floating slabs of rock and soil magically suspended thousands of feet above the Surface where Aether leaches into the atmosphere through great Rifts in the Earth's broken core, inflicting many with the curse of Aether sickness and giving power untold to the chosen few. For the Apt elites, who have discovered their Aptitude in manipulating the Aether around them, the world is a beautiful place, the open skies their only limit, and the abandoned Surface beneath their feet a trove of spoils awaiting new owners. For many that make up the rest of the Knackless masses, the world remains as it always was, but for those cursed few Spurned by even the touch of Aether, sometimes the best one can hope for is to be ignored.
8 151 - In Serial17 Chapters
Persona: Greed of The World
Natsume Soseki wakes up after being comatose for six months. He never thought that things will get worse, but.. what follows him is a reality, his right eye is gone, his father already in a big debt that got worsened after paying for his treatment. can't pay this, his father runs away with another woman. leaving him, his mother and his sister with a big debt. they sell the house to pay for the debt and move to the remote Goto Islands off the western coast of Kyushu, where his grandparent live. Once he reaches the Island, he starts having a dream of a blue room and gains the power to summon Persona Based on Persona series since this is a Persona, it won't be completed if the reader can't interact with it Reader feel free to add the list of persona/monster that MC can use any figures from inside the game or from mythology that doesn't make it into the game is welcomed
8 89 - In Serial28 Chapters
TRIGGER HAPPY HAVOC (disc.)
+ . + ✹ . ˚ . * · ✵ · . ✵ . · · ˚ * . · ✺ ·" discontinued. ⁀ ❝ I'M IN DESPAIR - SHOULD I BE SCARED? ❞ ˎˊ- an AU in which the yhs cast and the krew are trapped in the world of danganronpa. ─ ,, ⟶ .·. ( ITSFUNNEH ; DANGANRONPA AU ) [ DANGANRONPA SPOILERS WARNING ]
8 128

