《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 Serial25 Chapters
Jacob's War
Meet Jacob Williams.A survivor of the First World War, forever changed by his experience.Now he’s facing down the terrors that conflict unleashed upon an unsuspecting world.Weak spots have always existed between our world and that of the Fae; stone circles help to keep the most dangerous sealed shut. But now Stonehenge is failing…It falls to the members of the Fae Defence Society to repair the ancient monument, protect humanity from the terrors it holds back and prevent another disastrous war.Jacob and his wartime comrade Harry are on the front lines in a supernatural battle which threatens everything.About the FDS seriesThis is a prequel novella for an upcoming series following the work of the Fae Defence Society, a secretive organisation tasked with protecting humanity from the creatures that would destroy us. Can't wait for the rest of it? Available now at https://www.royalroad.com/amazon/B07ZL24L6Q New chapters released every Monday!
8 74 - In Serial30 Chapters
My Nightclub Landlady
"We own the English License of this series and are posting here with the permission of RRL's staff." After my brother in arms died to save my life, I swore to protect his sister, no matter the cost. Little did I know the grip the underworld had in her town. Working undercover in a Nightclub/Hotel in the gangster infested city of Tianhe, I must deal with the problems that arise from corruption, money, and the search for power.
8 166 - In Serial53 Chapters
Henry Cavill imagines
I feel we don't have enough of Henry Cavill and I've decided share some of my favourite tumblr imagines!(Disclaimer: I do not write these imagines I'm just sharing them on here) ENJOY!!
8 198 - In Serial36 Chapters
Vikings: Imagine you and ...
All my oneshots and series from requests I get on Tumblr about everyone except for Ivar The boneless (He had his own work)Requests are open!!
8 195 - In Serial29 Chapters
My best friends brother
"Are you going to pretend like last night didn't happen?" He asked. I looked at the ground."You know we can't" I answered. He tucked a piece of my hair behind my ear. Lena's best friend is Aubrey. Aubrey has an older brother that comes back from military school. What will happen between Lena and Jaxon. Read more to find out.
8 114 - In Serial7 Chapters
seven deadly sins...or eight deadly sins. wolf sin of shyness(complete)
Serena Luna is a wolf shape-shifter. She was a mysterious eighth member of the deadly sins. When the sins were framed for the murder of the Grand Master she disappeared into the mist. Ten years later she walks into a tavern called the Boar hat. She instantly recognizes captain Meliodas. when he sees her wolf ears and tail he realizes that it's her. He introduces her to Elizabeth and hawk. They head out find the rest of the sins. Including Serena's long time crush who gave her the nickname Wolfie. His name is Ban, the fox sin of greed.All original characters from seven deadly sins belong to their rightful owner.
8 139

