Home » Couldn’t understand this SWIFT Fucntion [closed]

# Couldn’t understand this SWIFT Fucntion [closed]

## Solutons:

You’re getting 120 because you’re asking the tuple for the `sum` value twice. The tuple passed back is `(min: Int, max: Int, sum: Int)`. In this case, `sum` is also index number 2 (`min` is index zero, `max` is index one). So in this case `statistics.sum == statistics.2`

If you want to access `min` or `max` you can access them using `statistics.min` or `statistics.max` respectively. You can also use `statistics.0` or `statistics.1` if you prefer (I recommend using the labels though).

Final thought: I would change your initial assignment of `max` and `min` inside the function to read as follows:

``````guard var max = scores.first, var min = scores.first else {
return (0, 0, 0)
}
``````

This will protect against the user accidentally passing an empty array.

You could have also set min and max to `0` ,not to `scores[0]`.
This func is very simple, I think you should read somewhere `How functions are working`.
For loop is used to go through every element, in your case every element in array `scores`. In every iteration, variable `sum` is increased by current element in array. So:
At the beginning of the function : `sum = 0`
1. iteration: `sum = 0 + 5`
2. iteration: `sum = 5 + 3`
3. iteration: `sum = 8 + 100`
4. iteration: `sum = 108 + 3`
5. iteration: `sum = 111 + 9`
For loop ends. Sum = `120`.

Score in Scores means like every single element in score. So name `Score` can be whatever you want to name it. You could have also name it `element` , `x`, `a` or whatever you like.

The function returns a tuple of type `(min: Int, max: Int, sum: Int)`.
`max` and `min` are not determined before being calculated. When they’re first assigned at the top of the function, they just contain the first element of the passed in `scores` array. But by the time the loop below finishes, they indeed have the correct minimum and maximum values. Those values are then returned in a tuple matching the return type.

## What are the alternatives for checking open ports, besides telnet?

Netcat (nc) is one option. nc -zv kafka02 6667 -z = sets nc to simply scan for listening daemons, without actually sending any data to them -v = enables verbose mode If using Bash Shell, then you can use its feature to check if a port is open or closed:...

## C++ What’s the problem in this line? int [] a = new int[size]; [closed]

new is for dynamic allocation (of an array on the heap in this case), and returns a pointer to the new array. [] in the declaration are for declaring it to be a stack array (and the brackets belong the right side of the variable name). So the two legal...

Unfortunately Google Docs does not support hiding specific heading levels. The only "solution" would be to change the headers you want to hide to the "Normal" style, then manually set the font formatting for each heading. The only way to avoid all headings from...

## What are the available Signals in Java

Eventually I brute forced the single to 5 character length signals and got these: BREAK (21) SEGV (11) ILL (4) FPE (8) TERM (15) ABRT (22) INT (2) The code: Set<String> signals = new HashSet<>(); String currentSignalStr; for (char i = 'A'; i <=...

## Understanding unique keys for array children in React.js

You should add a key to each child as well as each element inside children. This way React can handle the minimal DOM change. In your code, each <TableRowItem key={item.id} data={item} columns={columnNames}/> is trying to render some children inside them...

## most efficient AABB vs Ray collision algorithms

Andrew Woo, who along with John Amanatides developed the raymarching algorithm (DDA) used ubiquitously in raytracers, wrote "Fast Ray-Box Intersection" (alternative source here) which was published in Graphics Gems, 1990, pp. 395-396. Rather than being built...

## What is the difference between #!/bin/sh and #!/bin/bash?

bash and sh are two different shells. Basically bash is sh, with more features and better syntax. Most commands work the same, but they are different. Having said that, you should realize /bin/sh on most systems will be a symbolic link and will not invoke sh....

## How to pass password to mysql command line

The mysql client utility can take a password on the command line with either the -p or --password= options. If you use -p, there must not be any blank space after the option letter: \$ mysql -pmypassword I prefer the long options in scripts as they are...

## how to leave a gap in select list from left [closed]

Maybe you were after something like: <select style="padding: 0 0 0 10px"> <option>Male</option> <option>female</option> <option>other</option> </select> jsFiddle example here. Is that what you wanted? Edit: After...

## How can I complete the process in Win32 on behalf of the process in Perl? [closed]

If this is about the process remaining around in "server mode" after automation, you can just call the quit method on the application object. I edited by answer at How can I run a macro in an Excel file I open with Perl? to include that. (You know, I thought if...

## How to use multiple condition in one foreach loop?

Use two loops: foreach (\$products as \$product) { foreach (\$categories as \$category) { // using \$product and \$category } } I had the same question today as the OP. I figured I can split up the problem by first merging the two arrays and then performing the...

## Why do Primitive Data Types have a Fixed Size?

As low-level programming languages, the designs of C and C++ closely follow what common hardware is capable of. The primitive building blocks (fundamental types) correspond to entities that common CPUs natively support. CPUs typically can handle bytes and words...

## how do i count the words in a string list

Shouldn't it be string[] words = s.Split(' '); Even if we say your word is s.Split(' '); then it should be string[] words = word not string[]=word And to count how much words are in that array just do int howManyWords = words.Length; Also if you want to go...

## Data from text file to dataframe

Here you go! It's really fast. For a file with ~11 million lines (made by copying and pasting your sample file over and over again), it took about 22 seconds on my machine, and produced a dataframe with 2.2 million rows. Note: I wasn't sure quite how to handle...

## Unexpected output when creating a List of Lists in Java

You are adding all the integers to the same inner list (the one that you create at the start of your method with the statement List<Integer> l1 = new ArrayList<Integer>();). You should create a new List before adding elements to it: for(int i=1;...

## how to calculation cost time [closed]

I think I understand what you're asking. You just want to have a new dataframe that calculates the time difference between the three different entries for each unique order id? So, I start by creating the dataframe: data = [...

## how to disable button on change using jquery

you can do this as am assuming a image and am checking the resolutions and then i disable or enable the button as per requirements and also am clearing selected image so user can't upload the wrong format . <script> var _URL = window.URL ||...

## Detect and uninstall antivirus

You could try the following, from https://community.spiceworks.com/scripts/show/3161-detect-and-remove-software-powershell: ################################################ # Powershell Detect and Remove software script # # # # V1.0 - Gav #...

## return statement in c ??? why this function always returning 20?

You have a problem in your code. Change scanf("%d",arr[i]); To scanf("%d",&arr[i]); This is done because scanf expects an argument of type int* but you provide argument arr[i] which is of type int. Also add a check that ends the program if user inputs a...

## How to add Bootstrap? [closed]

By adding the CDN <html> <head> <title>Cube</title> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script> <!-- Latest compiled and minified CSS --> <link rel="stylesheet"...