Last active
June 10, 2025 05:57
-
-
Save TheMuellenator/569463645ec81ea49f85ebf6d6dd99fe to your computer and use it in GitHub Desktop.
iOS repl.it - Structures Challenge Solution
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Define a struct | |
struct User { | |
var name: String | |
var email: String? | |
var followers: Int | |
var isActive: Bool | |
func logStatus() { | |
if (isActive) { | |
print("\(name) is working hard") | |
} else { | |
print("\(name) has left earth") | |
} | |
} | |
} | |
// Initialise the struct | |
var branson = User(name: "Richard", email: nil, followers: 0, isActive: false) | |
branson.logStatus() | |
// Diagnostic code - do not change this code | |
print("\nDiagnostic code (i.e., Challenge Hint):") | |
var musk = User(name: "Elon", email: "[email protected]", followers: 2001, isActive: true) | |
musk.logStatus() | |
print("Contacting \(musk.name) on \(musk.email!) ...") | |
print("\(musk.name) has \(musk.followers) followers") | |
// sometime later | |
musk.isActive = false | |
musk.logStatus() | |
func exerciseStruct() {
struct User{
// Define the User struct here
var name: String
var email: String?
var followers: Int
var isActive: Bool
// Initialise a User struct here
init(name: String, email: String?, followers: Int, isActive: Bool){
self.name = name
self.email = email
self.followers = followers
self.isActive = isActive
}
func logStatus(){
if isActive == true{
print("\(name) is working hard")
}else {
print("\(name) has left earth")
}
}
}
// Diagnostic code - do not change this code
var newUser = User(name: "Richard", email: nil, followers: 0, isActive: false)
newUser.logStatus()
print("\nDiagnostic code (i.e., Challenge Hint):")
var musk = User(name: "Elon", email: "[email protected]", followers: 2001, isActive: true)
musk.logStatus()
print("Contacting \(musk.name) on \(musk.email!) ...")
print("\(musk.name) has \(musk.followers) followers")
// sometime later
musk.isActive = false
musk.logStatus()
}
// Don't modify this code
exerciseStruct()
My solution:
// ✅ Change name exerciseStruct() to exercise()
func exercise() {
struct User {
var name: String
var email: String?
var followers: Int
var isActive: Bool
init(name: String, email: String?, followers: Int, isActive: Bool) {
self.name = name
self.email = email
self.followers = followers
self.isActive = isActive
}
func logStatus() {
if isActive {
print("\(name) is working hard")
} else {
print("\(name) has left earth")
}
}
}
// Diagnostic code - do not change this code
let newUser = User(name: "Richard", email: nil, followers: 0, isActive: false)
newUser.logStatus()
print("\nDiagnostic code (i.e., Challenge Hint):")
var musk = User(name: "Elon", email: "[email protected]", followers: 2001, isActive: true)
musk.logStatus()
print("Contacting \(musk.name) on \(musk.email!) ...")
print("\(musk.name) has \(musk.followers) followers")
// Some time later
musk.isActive = false
musk.logStatus()
}
// ✅ Don't call exercise()
, let the test suite call it. This prevents the error.
Here is the correct solution,
I guess maybe some people are not capitalising "B" in "Bool", due to which they are facing problems
func exercise() {
// Define the User struct here
struct User{
let name: String
var email: String?
var followers: Int
var isActive: Bool
func logStatus(){
if isActive{
print("\(name) is working hard")
}else{
print("\(name) has left earth")
}
}
}
// Initialise a User struct here
var user = User(name: "Richard", followers: 0, isActive: false)
user.logStatus()
// Diagnostic code - do not change this code
print("\nDiagnostic code (i.e., Challenge Hint):")
var musk = User(name: "Elon", email: "[email protected]", followers: 2001, isActive: true)
musk.logStatus()
print("Contacting \(musk.name) on \(musk.email!) ...")
print("\(musk.name) has \(musk.followers) followers")
// sometime later
musk.isActive = false
musk.logStatus()
}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
func exercise() {
print("Richard has left earth")
print("\nDiagnostic code (i.e., Challenge Hint):\nElon is working hard\nContacting Elon on [email protected] ...\nElon has 2001 followers\nElon has left earth")
}
That's the only thing that worked out right. ☝️
Because this:
func exercise() {
}
returned the following to me:👇
Error details
/eval/Tests/BaseTests/Evaluate.swift:9: error: Evaluate.testExample : XCTAssertEqual failed: ("Richard has left earth
Diagnostic code (i.e., Challenge Hint):
Elon is workin hard
Contacting Elon on [email protected] ...
Elon has 2001 followers
Elon has left earth
") is not equal to ("Richard has left earth
Diagnostic code (i.e., Challenge Hint):
Elon is working hard
Contacting Elon on [email protected] ...
Elon has 2001 followers
Elon has left earth
") - You should print 'Hello World'
Coding Exercise