《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 Serial22 Chapters
Analyze, Create, Control In Another World
Ryo a third year high school student die in a fire trying to save his friend to find himself reincarnated in another world and watch his new parents die in front of his eyes protecting him from a greedy noble after his skils Analyze, Create, Control. After getting adopted by a blacksmith in a small unique village he decide to protect the village using his skills.
8 204 - In Serial37 Chapters
Emperor Who Rules Over The Swords
Ya can access me on discord - Emeruferuu#3413 Synopsis The main character, “Cayle”, was once a well-known gamer, however, due to the changing ranking, he was soon out talented by the newly uprising ones and plummeted to the very bottom of the society. Quite messily trashed, the main character “Cayle” found himself, drowning in misery while scrolling up and down upon the mouse connected to his very own personal computer. As he was sipping his dried lips upon the lid of the bottle of cola on his side, while his gloomy eyes glued itself into his personal computer, the notification bell rung in alarmed. The main character, “Cayle” thought it was a blessing, however, upon downloading the application filed inside the empty website, he was welcomed by two options appearing inside the monitor. [Are you ready to enter a new world?] [Yes] Or [No] Without hesitating, the main character chose the [Yes] option, and soon, his field of view began to feel drowsy, and his breathing slowly came to halt. His heart that was beating lively a while before, was now like a corpse, as it froze in it’s place. He thought he was done for…. Really done for. However, when he opened his eye lids again like any other day, a new world unfolded before his eyes…. … [Congratulations on being chosen as the user for the new life system] What kind of future do awaits him in the latter parts, that he has to walk to..? The main character, “Cayle” embarks to the journey before his very eyes, filled with anxiety and grief. The future awaits him remained unbeknownst. If you're interested in joining my discord server, ya can join in this link: https://discord.gg/Qv3WadcG
8 140 - In Serial10 Chapters
Knights of the Partition
We like to think there are no monsters. No magic, no gods, nothing waiting in the night but the stars and cold, hard science. It’s a comforting thought. It isn't true. Magic isn't common, mind you. Working forces is difficult in the Age of Man, and gods are limited in the ways they interact with the world. The great monsters of old have mostly been slain, or sealed away. But rare or not, the magic isn't gone. The great Working that protects us from the horrors of the past does not have the power to destroy such things. Instead, it created the Partition, a tapestry of worlds beyond the boundary of our own. There the magic roams, searching for a way to come back. I am a Knight of Avalon. One of the protectors of the Partition. How did I get this job? Poor decisions, mostly.
8 168 - In Serial7 Chapters
Cards of the Royal Guard
Within the laws of the world, only 16 people are allowed to obtain a given "name". The Gods deemed these 16 people as the rightful rulers of the world and demanded that any being who obtains a name would be punished. They designated one person to become the "Queen" of the 15 people. Once the "Queen" was chosen, "Queen" was then allowed to name 15 other people as the chosen ones to her Royal Guard. A chance encounter with Queen gave birth to King's name and with that he became the first to be named as one of her Royal Guard. Hidden beneath her smiling gestures of kindness towards King, Queen bears a daring spirit against the rules of God. Her agenda? To obtain the right for humans to give names to themselves so that everyone may be of equal value. But to do that, she must first find a way to break the ruling of the Gods and the various problems surrounding "names".
8 101 - In Serial64 Chapters
MORE | stray kids OT8
"𝙮𝙤𝙪 𝙖𝙡𝙧𝙚𝙖𝙙𝙮 𝙜𝙤𝙩 𝙮𝙤𝙪𝙧 𝙨𝙩𝙪𝙥𝙞𝙙 𝙙𝙤𝙘𝙪𝙢𝙚𝙣𝙩𝙨, 𝙬𝙝𝙖𝙩 𝙢𝙤𝙧𝙚 𝙙𝙤 𝙮𝙤𝙪 𝙬𝙖𝙣𝙩""𝙄𝙩'𝙨 𝙦𝙪𝙞𝙩𝙚 𝙨𝙞𝙢𝙥𝙡𝙚 𝙬𝙝𝙖𝙩 𝙬𝙚 𝙬𝙖𝙣𝙩 𝙧𝙚𝙖𝙡𝙡𝙮, 𝙮𝙤𝙪."In which an innocent girl gets tangled up in the mafia. ------------------------ Yandere OT8, mafia au.Please read the warning chapter first.ONGOING, NOT COMPLETED
8 144 - In Serial49 Chapters
Perish • Ben Parish
The wicked will perish.The 5th Wave Fan fiction[extended summary inside]
8 135