-
-
Save TheMuellenator/569463645ec81ea49f85ebf6d6dd99fe to your computer and use it in GitHub Desktop.
// 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: "elon@tesla.com", 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() | |
The answer here doesn't correspond with instructions from Angela. It's missing initializers.
My solution failed. I think the problematic part is the function part but I can't figure out why it isn't working. Can anyone understand what is wrong with my solution code?
// TODO: Define the struct
struct User {
let name: String
var email: String?
var followers: Int
var isActive : bool// TODO: Initialise the struct
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.bool.true
{print("(name) is working hard")}
else { print("(name) has left earth")
}
}
}var musk = User(name:"Richard", followers: 0, isActive: false)
print(musk.logStatus)
First: For structs, an initializer is created automatically (by default). And for classes, you always need to create an initializer manually.
second, that you have a boolean with a lowercase letter.
Third, the If Condition checks the value for truth. You can just write
If isActive {
print("lalala")
}
struct User {
var name: String
var email : String?
var followers : Int
var isActive: Bool
// Should mutate the method logStatus to use the same initiated struct
mutating func logStatus()
{
if(isActive)
{
print("\(name) is working hard")
}else
{
print("\(name) has left earth")
}
}
}
// Initialise a User struct here
var hasan = User(name: "Hasan" , email:"hasan@gmail.com" , followers: 40 , isActive: true)
hasan.logStatus()
this is my solution
func exercise() {
// Define the User struct here
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")
}
}
}
// Initialise a User struct here
let userObj = User(name: "Richard", email: nil, followers: 0, isActive: false)
userObj.logStatus()
// Diagnostic code - do not change this code
print("\nDiagnostic code (i.e., Challenge Hint):")
var musk = User(name: "Elon", email: "elon@tesla.com", followers: 2001, isActive: true)
musk.logStatus()
print("Contacting \(musk.name) on \(musk.email!) ...")
print("\(musk.name) has \(musk.followers) followers")
// sometime later
// musk.name = "Richard"
musk.isActive = false
musk.logStatus()
}
func exercise() {
// Define the User struct here
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 == true{
print("\(name) is working hard")
}else{
print("\(name) has left earth")
}
}
}
// Initialise a User struct here
let message = User(name: "Sun", email: "Hiyou@gmail.con", followers: 150, isActive: false)
message.logStatus()
// Diagnostic code - do not change this code
print("\nDiagnostic code (i.e., Challenge Hint):")
var musk = User(name: "Elon", email: "elon@tesla.com", 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()
}
exercise()
func exercise() {
// Define the User struct here
struct User{
let name: String
let email: String?
var followers: Int
var isActive: Bool
func logStatus(){
if (isActive == true) {
print("(name) is working hard")
}else{
print("(name) has left earth")
}
}
}
// Initialise a User struct here
var Richard = User(name: "Richard", email: "Richard@yahoo,com", followers: 0, isActive: false)
Richard.logStatus()
// Diagnostic code - do not change this code
print("\nDiagnostic code (i.e., Challenge Hint):")
var musk = User(name: "Elon", email: "elon@tesla.com", 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 exercise() {
// Define the User struct here
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" )
}
}
init(name:String, email: String?, followers: Int, isActive: Bool){
self.name = name
self.email = email
self.followers = followers
self.isActive = isActive
}
}
// Initialise a User struct here
var info = User(name: "Richard", email: nil, followers: 0, isActive: false)
info.logStatus()
// Diagnostic code - do not change this code
print("\nDiagnostic code (i.e., Challenge Hint):")
var musk = User(name: "Elon", email: "elon@tesla.com", 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()
}
// Define a structure called User with its properties
struct User {
let name: String
var email: String?
var followers: Int
var isActive: Bool
// Initializer method for the User struct. It will allow us to create a User object.
init(name: String, email: String? = nil, followers: Int, isActive: Bool) {
self.name = name
self.email = email
self.followers = followers
self.isActive = isActive
}
// Method defined within the User struct to check if the isActive property is true or false to print the user's status to the console
func logStatus(){
if(isActive){
print("\(name) is working hard")
} else {
print("\(name) has left earth")
}
}
}
// Create an instance of the User struct and initialize it with its values
var richard = User(name: "Richard", email: "richard@yahoo.com", followers: 0, isActive: false)
richard.logStatus() // Output: Richard has left earth
func exercise() {
// Define the User struct here
struct User {
var name : String
var email : String?
var followers : Int
var isActive : Bool
func logStatus(){
if self.isActive == true {
print("\(self.name) is working hard")
}
else {
print("\(self.name) has left earth")
}
}
}
// Initialise a User struct here
var userRichard = User(name: "Richard",email: nil, followers: 0, isActive: false)
userRichard.logStatus()
// Diagnostic code - do not change this code
print("\nDiagnostic code (i.e., Challenge Hint):")
var musk = User(name: "Elon", email: "elon@tesla.com", 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()
}
For structs, an initializer is created automatically (by default). And for classes, you always need to create an initializer manually.