## Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community!

### Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

# Why can't we just write let areaOfRoom = length x width, since it's nested under a function that accepts those inputs?

``` let areaOfRoom = area(length: length, width: width)
```

In the following code:

```func area(length: Int, width: Int) -> Int {
let areaOfRoom = length * width

return areaOfRoom

func carpetCostHaving(length: Int, width: Int, carpetColor color: String = "tan") -> (Price: Int, carpetColor: String) {

// Grey Carpet - \$1/sqft
// Tan Carpet - \$2/sqft
// Deep Blue carpet - \$4/sqft

let areaOfRoom = area(length: length, width: width)

var price = 0

switch color {
case "grey": price = areaOfRoom * 1
case "tan": price = areaOfRoom * 2
case "deepBlue": price = areaOfRoom * 4
default: price = 0
}

return (price, color)
}
```

Why can't we just write let areaOfRoom = length x width, since it's nested under a function that accepts those inputs? Would it not just inherit those values?

Edit: I've tried it with length x width and it works. Just wondering what the value is in writing it in this form:

``` let areaOfRoom = area(length: length, width: width)
```

Programming is very flexible. So yes, you could do it that way. But what if the method was 20 lines of code? Would you want to type that every time or do a method call? So the point is to show you how to do it with simple code before getting into harder stuff. Good question though.

Makes sense, thanks!