Created
February 5, 2014 14:14
-
-
Save zacksiri/8824406 to your computer and use it in GitHub Desktop.
CoffeeScript example
This file contains 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
console.log "Hello World" | |
superheroes = ["superman", "thor", "batman"] | |
for hero in superheroes | |
console.log hero | |
person_1 = | |
name: "Zack" | |
email: '[email protected]' | |
age: 29 | |
alive: true | |
good_deed: 15 | |
speed: 10 | |
person_2 = | |
name: "Jakaphan" | |
email: '[email protected]' | |
age: 25 | |
alive: true | |
good_deed: 90 | |
speed: 10 | |
person_3 = | |
name: 'Dev App' | |
email: '[email protected]' | |
age: 30 | |
alive: true | |
good_deed: 99 | |
speed: 10 | |
people = [person_1, person_2, person_3] | |
for person in people | |
#console.log person.name if person.age < 30 | |
console.log if person.age < 30 | |
"#{person.name} is a Young Guns" | |
else | |
"#{person.name} is a Wise Guns" | |
makeYoungAgain = (person) -> | |
if person.age >= 30 | |
person.age = Math.floor(Math.random()*30) | |
console.log "#{person.name} is now #{person.age}" | |
else | |
console.log "#{person.name} is already under 30" | |
for person in people | |
makeYoungAgain(person) | |
ageModifier = | |
heaven: [] | |
hell: [] | |
name: (person) -> | |
console.log person.name | |
makeYounger: (person) -> | |
#person.age -= person.age - 1 | |
person.age -= 1 | |
makeOlder: (person) -> | |
#person.age = person.age + 1 | |
person.age += 1 | |
kill: (person) -> | |
person.alive = false | |
# kill person | |
resurrect: (person) -> | |
person.alive = true | |
sendToHeaven: (person) -> | |
if person.good_deeds > 50 | |
heaven.push(person) | |
else | |
"sorry need atleast 50 good deeds" | |
sendToHell: (person) -> | |
if person.good_deeds < 10 | |
hell.push(person) | |
else | |
"sorry you have to lower your good deeds" | |
maximumSpeed: (person) -> | |
person.speed | |
console.log person_1.age | |
ageModifier.makeYounger(person_1) | |
console.log person_1.age | |
class Human | |
constructor: (name, age, status) -> | |
@name = name | |
@age = age | |
@status = status | |
favoriteColors: -> | |
['red', 'green', 'blue'] | |
maximumSpeed: -> | |
10 | |
zack = new Human('Zack', 29, 'alive') | |
console.log zack.name | |
console.log zack.maximumSpeed() | |
class Athelete extends Human | |
maximumSpeed: -> | |
50 | |
usain = new Athelete("Usain Bolt", 30, 'alive') | |
console.log usain.maximumSpeed() | |
console.log usain.name |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment