{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Jyve CoffeeScript\n", "[CoffeeScript](http://coffeescript.org/) is a little language that compiles into JavaScript. " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Assignment:\n", "@number = 42\n", "@opposite = true" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Conditions:\n", "@number = -42 if @opposite" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Functions:\n", "@square = (x) -> x * x" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Arrays:\n", "@list = [1, 2, 3, 4, 5]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Objects:\n", "@math =\n", " root: Math.sqrt\n", " square: @square\n", " cube: (x) -> x * @square x" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Splats:\n", "@race = (winner, runners...) ->\n", " print winner, runners" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Existence:\n", "alert \"I knew it!\" if elvis?" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Array comprehensions:\n", "cubes = (@math.cube num for num in @list)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "class Animal\n", " constructor: (@name) ->\n", "\n", " move: (meters) ->\n", " alert @name + \" moved #{meters}m.\"\n", "\n", "class Snake extends Animal\n", " move: ->\n", " alert \"Slithering...\"\n", " super 5\n", "\n", "@Snake = Snake" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "@sam = new @Snake \"Sammy the Python\"" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "@sam.move()" ] } ], "metadata": { "kernelspec": { "display_name": "CoffeeScript (unsafe) — Jyve", "language": "coffeescript", "name": "jyve-kyrnel-coffee-unsafe" }, "language_info": { "codemirror_mode": { "name": "coffeescript" }, "file_extension": ".coffee", "mimetype": "text/coffeescript", "name": "coffeescript", "nbconvert_exporter": "coffeescript", "pygments_lexer": "coffeescript", "version": "2.2.1" } }, "nbformat": 4, "nbformat_minor": 2 }