{ "metadata": { "language": "Julia", "name": "", "signature": "sha256:d3c0c1c9d99e3005d6bc3b928ced32e1460b1b7b6b007b477419e95bb6c00f3f" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### Built In Types\n", "\n", "- [Integers and Floating Point Numbers](http://docs.julialang.org/en/latest/manual/integers-and-floating-point-numbers/)\n", "- [Strings and Characters](http://docs.julialang.org/en/latest/manual/strings/)\n", "- [Arrays](http://docs.julialang.org/en/latest/manual/arrays/)\n", "- [Dictionaries](http://docs.julialang.org/en/latest/stdlib/collections/#associative-collections)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "1 + 2.0" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 1, "text": [ "3.0" ] } ], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "typeof(3.3)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 39, "text": [ "Float64" ] } ], "prompt_number": 39 }, { "cell_type": "code", "collapsed": false, "input": [ "println(\"Hello World\")\n", "println(\"1 + 2 is: $(1 + 2)\")" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Hello World\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "1 + 2 is: 3\n" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "'a'\n", "'\\u2603'" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 17, "text": [ "'\u2603'" ] } ], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "int('\u2603')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 15, "text": [ "\"2603\"" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "['a' 'b' 'c']" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 26, "text": [ "1x3 Array{Char,2}:\n", " 'a' 'b' 'c'" ] } ], "prompt_number": 26 }, { "cell_type": "code", "collapsed": false, "input": [ "['a' 'b' 'c';\n", "'d' 'e' 'f';]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 20, "text": [ "2x3 Array{Char,2}:\n", " 'a' 'b' 'c'\n", " 'd' 'e' 'f'" ] } ], "prompt_number": 20 }, { "cell_type": "code", "collapsed": false, "input": [ "[1, 2, 3]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 27, "text": [ "3-element Array{Int64,1}:\n", " 1\n", " 2\n", " 3" ] } ], "prompt_number": 27 }, { "cell_type": "code", "collapsed": false, "input": [ "Dict(:erik => \"python\",\n", " :justin => \"ruby\",\n", " :colin => \"scala\",\n", ")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 33, "text": [ "Dict{Symbol,ASCIIString} with 3 entries:\n", " :erik => \"python\"\n", " :colin => \"scala\"\n", " :justin => \"ruby\"" ] } ], "prompt_number": 33 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Variables\n", "- [Variables](http://docs.julialang.org/en/latest/manual/variables/)\n", "- [Variables and Scope](http://docs.julialang.org/en/latest/manual/variables-and-scoping/)\n", "- [Type Assertions](http://julia.readthedocs.org/en/latest/manual/types/#type-declarations)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "a = 7" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 34, "text": [ "7" ] } ], "prompt_number": 34 }, { "cell_type": "code", "collapsed": false, "input": [ "erik = :erik" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 35, "text": [ ":erik" ] } ], "prompt_number": 35 }, { "cell_type": "code", "collapsed": false, "input": [ "erik::Symbol" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 37, "text": [ ":erik" ] } ], "prompt_number": 37 }, { "cell_type": "code", "collapsed": false, "input": [ "erik::Array" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "LoadError", "evalue": "type: typeassert: expected Array{T,N}, got Symbol\nwhile loading In[38], in expression starting on line 1", "output_type": "pyerr", "traceback": [ "type: typeassert: expected Array{T,N}, got Symbol\nwhile loading In[38], in expression starting on line 1", "" ] } ], "prompt_number": 38 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Control Flow\n", "- [Control Flow](http://docs.julialang.org/en/latest/manual/control-flow/)\n", "- [List Comprehensions](http://docs.julialang.org/en/latest/manual/arrays/#comprehensions)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "a = 3\n", "if a > 4\n", " println(\"a is too big\")\n", "else\n", " println(\"a is $a\")\n", "end" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "a is 3\n" ] } ], "prompt_number": 40 }, { "cell_type": "code", "collapsed": false, "input": [ "x = 1 == 2 ? \"yeah!\" : \"nope...\"" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 52, "text": [ "\"nope...\"" ] } ], "prompt_number": 52 }, { "cell_type": "code", "collapsed": false, "input": [ "for x = 1:3:10\n", " println(x)\n", "end" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "1\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "4\n", "7\n", "10\n" ] } ], "prompt_number": 48 }, { "cell_type": "code", "collapsed": false, "input": [ "o_count = 0\n", "for x = \"one two three\"\n", " if x == 'o'\n", " o_count += 1\n", " end\n", "end\n", "o_count" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 47, "text": [ "2" ] } ], "prompt_number": 47 }, { "cell_type": "code", "collapsed": false, "input": [ "[x^2 for x = 1:5]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ "5-element Array{Int64,1}:\n", " 1\n", " 4\n", " 9\n", " 16\n", " 25" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "[\"$x $y\" for x = 1:3, y='a':'c']" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ "3x3 Array{Union(UTF8String,ASCIIString),2}:\n", " \"1 a\" \"1 b\" \"1 c\"\n", " \"2 a\" \"2 b\" \"2 c\"\n", " \"3 a\" \"3 b\" \"3 c\"" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Functions\n", "- [Functions](http://docs.julialang.org/en/latest/manual/functions/)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "function minimum(l)\n", " min = l[1]\n", " for x = l[2:end]\n", " min = min < x ? min : x\n", " end\n", " min\n", "end\n", "minimum([2, -3, 6, -4, 3])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 60, "text": [ "-4" ] } ], "prompt_number": 60 }, { "cell_type": "code", "collapsed": false, "input": [ "f(x) = 2x\n", "f(3)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 61, "text": [ "6" ] } ], "prompt_number": 61 }, { "cell_type": "code", "collapsed": false, "input": [ "((x, y) -> x + y)(2, 3)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 63, "text": [ "5" ] } ], "prompt_number": 63 }, { "cell_type": "code", "collapsed": false, "input": [ "map(c -> c + 2, \"Hello\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 76, "text": [ "\"Jgnnq\"" ] } ], "prompt_number": 76 }, { "cell_type": "code", "collapsed": false, "input": [ "filter(x -> x % 3 == 0, 1:10)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 70, "text": [ "3-element Array{Int64,1}:\n", " 3\n", " 6\n", " 9" ] } ], "prompt_number": 70 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### In the Next Section\n", "\n", "- Modules and imports\n", "- User Defined Types\n", "- Multiple Dispatch\n", "- Testing\n", "- External Libraries & Packaging\n", "- Simulations and Data Visualization" ] } ], "metadata": {} } ] }