77 lines
18 KiB
HTML
77 lines
18 KiB
HTML
|
<!DOCTYPE html>
|
|||
|
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Getting Started · The Julia Language</title><script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|||
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|||
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|||
|
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
|||
|
|
|||
|
ga('create', 'UA-28835595-6', 'auto');
|
|||
|
ga('send', 'pageview');
|
|||
|
</script><link href="https://cdnjs.cloudflare.com/ajax/libs/normalize/4.2.0/normalize.min.css" rel="stylesheet" type="text/css"/><link href="https://fonts.googleapis.com/css?family=Lato|Roboto+Mono" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.2.0/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link href="../assets/highlightjs/default.css" rel="stylesheet" type="text/css"/><link href="../assets/documenter.css" rel="stylesheet" type="text/css"/></head><body><nav class="toc"><a href="../index.html"><img class="logo" src="../assets/logo.png" alt="The Julia Language logo"/></a><h1>The Julia Language</h1><select id="version-selector" onChange="window.location.href=this.value" style="visibility: hidden"></select><form class="search" action="../search.html"><input id="search-query" name="q" type="text" placeholder="Search docs"/></form><ul><li><a class="toctext" href="../index.html">Home</a></li><li><span class="toctext">Manual</span><ul><li><a class="toctext" href="introduction.html">Introduction</a></li><li class="current"><a class="toctext" href="getting-started.html">Getting Started</a><ul class="internal"><li><a class="toctext" href="#Resources-1">Resources</a></li></ul></li><li><a class="toctext" href="variables.html">Variables</a></li><li><a class="toctext" href="integers-and-floating-point-numbers.html">Integers and Floating-Point Numbers</a></li><li><a class="toctext" href="mathematical-operations.html">Mathematical Operations and Elementary Functions</a></li><li><a class="toctext" href="complex-and-rational-numbers.html">Complex and Rational Numbers</a></li><li><a class="toctext" href="strings.html">Strings</a></li><li><a class="toctext" href="functions.html">Functions</a></li><li><a class="toctext" href="control-flow.html">Control Flow</a></li><li><a class="toctext" href="variables-and-scoping.html">Scope of Variables</a></li><li><a class="toctext" href="types.html">Types</a></li><li><a class="toctext" href="methods.html">Methods</a></li><li><a class="toctext" href="constructors.html">Constructors</a></li><li><a class="toctext" href="conversion-and-promotion.html">Conversion and Promotion</a></li><li><a class="toctext" href="interfaces.html">Interfaces</a></li><li><a class="toctext" href="modules.html">Modules</a></li><li><a class="toctext" href="documentation.html">Documentation</a></li><li><a class="toctext" href="metaprogramming.html">Metaprogramming</a></li><li><a class="toctext" href="arrays.html">Multi-dimensional Arrays</a></li><li><a class="toctext" href="linear-algebra.html">Linear algebra</a></li><li><a class="toctext" href="networking-and-streams.html">Networking and Streams</a></li><li><a class="toctext" href="parallel-computing.html">Parallel Computing</a></li><li><a class="toctext" href="dates.html">Date and DateTime</a></li><li><a class="toctext" href="interacting-with-julia.html">Interacting With Julia</a></li><li><a class="toctext" href="running-external-programs.html">Running External Programs</a></li><li><a class="toctext" href="calling-c-and-fortran-code.html">Calling C and Fortran Code</a></li><li><a class="toctext" href="handling-operating-system-variation.html">Handling Operating System Variation</a></li><li><a class="toctext" href="environment-variables.html">Environment Variables</a></li><li><a class="toctext" href="embedding.html">Embedding Julia</a></li><li><a class="toctext" href="packages.html">Packages</a></li><li><a class="toctext" href="profile.html">Profiling</a></li><li><a class="toctext" href="stacktraces.html">Stack Traces</a></li><li><a class="toctext" href="performance-tips.html">Performance Tips</a></li><li><a class="toctext" href="workflow-tips.html">Workflow Tips</a></li><li><a class="toctext" href="style-guide.html">Style Guide</a></li><li><a class="toctext" href="
|
|||
|
_
|
|||
|
_ _ _(_)_ | A fresh approach to technical computing
|
|||
|
(_) | (_) (_) | Documentation: https://docs.julialang.org
|
|||
|
_ _ _| |_ __ _ | Type "?help" for help.
|
|||
|
| | | | | | |/ _` | |
|
|||
|
| | |_| | | | (_| | | Version 0.5.0-dev+2440 (2016-02-01 02:22 UTC)
|
|||
|
_/ |\__'_|_|_|\__'_| | Commit 2bb94d6 (11 days old master)
|
|||
|
|__/ | x86_64-apple-darwin13.1.0
|
|||
|
|
|||
|
julia> 1 + 2
|
|||
|
3
|
|||
|
|
|||
|
julia> ans
|
|||
|
3</code></pre><p>To exit the interactive session, type <code>^D</code> – the control key together with the <code>d</code> key or type <code>quit()</code>. When run in interactive mode, <code>julia</code> displays a banner and prompts the user for input. Once the user has entered a complete expression, such as <code>1 + 2</code>, and hits enter, the interactive session evaluates the expression and shows its value. If an expression is entered into an interactive session with a trailing semicolon, its value is not shown. The variable <code>ans</code> is bound to the value of the last evaluated expression whether it is shown or not. The <code>ans</code> variable is only bound in interactive sessions, not when Julia code is run in other ways.</p><p>To evaluate expressions written in a source file <code>file.jl</code>, write <code>include("file.jl")</code>.</p><p>To run code in a file non-interactively, you can give it as the first argument to the <code>julia</code> command:</p><pre><code class="language-none">$ julia script.jl arg1 arg2...</code></pre><p>As the example implies, the following command-line arguments to <code>julia</code> are taken as command-line arguments to the program <code>script.jl</code>, passed in the global constant <code>ARGS</code>. The name of the script itself is passed in as the global <code>PROGRAM_FILE</code>. Note that <code>ARGS</code> is also set when script code is given using the <code>-e</code> option on the command line (see the <code>julia</code> help output below) but <code>PROGRAM_FILE</code> will be empty. For example, to just print the arguments given to a script, you could do this:</p><pre><code class="language-none">$ julia -e 'println(PROGRAM_FILE); for x in ARGS; println(x); end' foo bar
|
|||
|
|
|||
|
foo
|
|||
|
bar</code></pre><p>Or you could put that code into a script and run it:</p><pre><code class="language-none">$ echo 'println(PROGRAM_FILE); for x in ARGS; println(x); end' > script.jl
|
|||
|
$ julia script.jl foo bar
|
|||
|
script.jl
|
|||
|
foo
|
|||
|
bar</code></pre><p>The <code>--</code> delimiter can be used to separate command-line args to the scriptfile from args to Julia:</p><pre><code class="language-none">$ julia --color=yes -O -- foo.jl arg1 arg2..</code></pre><p>Julia can be started in parallel mode with either the <code>-p</code> or the <code>--machinefile</code> options. <code>-p n</code> will launch an additional <code>n</code> worker processes, while <code>--machinefile file</code> will launch a worker for each line in file <code>file</code>. The machines defined in <code>file</code> must be accessible via a passwordless <code>ssh</code> login, with Julia installed at the same location as the current host. Each machine definition takes the form <code>[count*][user@]host[:port] [bind_addr[:port]]</code> . <code>user</code> defaults to current user, <code>port</code> to the standard ssh port. <code>count</code> is the number of workers to spawn on the node, and defaults to 1. The optional <code>bind-to bind_addr[:port]</code> specifies the ip-address and port that other workers should use to connect to this worker.</p><p>If you have code that you want executed whenever Julia is run, you can put it in <code>~/.juliarc.jl</code>:</p><pre><code class="language-none">$ echo 'println("Greetings! 你好! 안녕하세요?")' > ~/.juliarc.jl
|
|||
|
$ julia
|
|||
|
Greetings! 你好! 안녕하세요?
|
|||
|
|
|||
|
...</code></pre><p>There are various ways to run Julia code and provide options, similar to those available for the <code>perl</code> and <code>ruby</code> programs:</p><pre><code class="language-none">julia [switches] -- [programfile] [args...]
|
|||
|
-v, --version Display version information
|
|||
|
-h, --help Print this message
|
|||
|
|
|||
|
-J, --sysimage <file> Start up with the given system image file
|
|||
|
--precompiled={yes|no} Use precompiled code from system image if available
|
|||
|
--compilecache={yes|no} Enable/disable incremental precompilation of modules
|
|||
|
-H, --home <dir> Set location of `julia` executable
|
|||
|
--startup-file={yes|no} Load ~/.juliarc.jl
|
|||
|
--handle-signals={yes|no} Enable or disable Julia's default signal handlers
|
|||
|
|
|||
|
-e, --eval <expr> Evaluate <expr>
|
|||
|
-E, --print <expr> Evaluate and show <expr>
|
|||
|
-L, --load <file> Load <file> immediately on all processors
|
|||
|
|
|||
|
-p, --procs {N|auto} Integer value N launches N additional local worker processes
|
|||
|
"auto" launches as many workers as the number of local cores
|
|||
|
--machinefile <file> Run processes on hosts listed in <file>
|
|||
|
|
|||
|
-i Interactive mode; REPL runs and isinteractive() is true
|
|||
|
-q, --quiet Quiet startup (no banner)
|
|||
|
--color={yes|no} Enable or disable color text
|
|||
|
--history-file={yes|no} Load or save history
|
|||
|
|
|||
|
--compile={yes|no|all|min}Enable or disable JIT compiler, or request exhaustive compilation
|
|||
|
-C, --cpu-target <target> Limit usage of cpu features up to <target>
|
|||
|
-O, --optimize={0,1,2,3} Set the optimization level (default is 2 if unspecified or 3 if specified as -O)
|
|||
|
-g, -g <level> Enable / Set the level of debug info generation (default is 1 if unspecified or 2 if specified as -g)
|
|||
|
--inline={yes|no} Control whether inlining is permitted (overrides functions declared as @inline)
|
|||
|
--check-bounds={yes|no} Emit bounds checks always or never (ignoring declarations)
|
|||
|
--math-mode={ieee,fast} Disallow or enable unsafe floating point optimizations (overrides @fastmath declaration)
|
|||
|
|
|||
|
--depwarn={yes|no|error} Enable or disable syntax and method deprecation warnings ("error" turns warnings into errors)
|
|||
|
|
|||
|
--output-o name Generate an object file (including system image data)
|
|||
|
--output-ji name Generate a system image data file (.ji)
|
|||
|
--output-bc name Generate LLVM bitcode (.bc)
|
|||
|
--output-incremental=no Generate an incremental output file (rather than complete)
|
|||
|
|
|||
|
--code-coverage={none|user|all}, --code-coverage
|
|||
|
Count executions of source lines (omitting setting is equivalent to "user")
|
|||
|
--track-allocation={none|user|all}, --track-allocation
|
|||
|
Count bytes allocated by each source line</code></pre><h2><a class="nav-anchor" id="Resources-1" href="#Resources-1">Resources</a></h2><p>In addition to this manual, there are various other resources that may help new users get started with Julia:</p><ul><li><p><a href="http://math.mit.edu/~stevenj/Julia-cheatsheet.pdf">Julia and IJulia cheatsheet</a></p></li><li><p><a href="https://learnxinyminutes.com/docs/julia/">Learn Julia in a few minutes</a></p></li><li><p><a href="https://github.com/chrisvoncsefalvay/learn-julia-the-hard-way">Learn Julia the Hard Way</a></p></li><li><p><a href="http://samuelcolvin.github.io/JuliaByExample/">Julia by Example</a></p></li><li><p><a href="https://github.com/dpsanders/hands_on_julia">Hands-on Julia</a></p></li><li><p><a href="http://homerreid.dyndns.org/teaching/18.330/JuliaProgramming.shtml">Tutorial for Homer Reid's numerical analysis class</a></p></li><li><p><a href="https://raw.githubusercontent.com/ViralBShah/julia-presentations/master/Fifth-Elephant-2013/Fifth-Elephant-2013.pdf">An introductory presentation</a></p></li><li><p><a href="https://julialang.org/blog/2013/03/julia-tutorial-MIT">Videos from the Julia tutorial at MIT</a></p></li><li><p><a href="https://www.youtube.com/user/JuliaLanguage/playlists">YouTube videos from the JuliaCons</a></p></li></ul><footer><hr/><a class="previous" href="introduction.html"><span class="direction">Previous</span><span class="title">Introduction</span></a><a class="next" href="variables.html"><span class="direction">Next</span><span class="title">Variables</span></a></footer></article></body></html>
|