Wolfram Language in Depth
This is a Wolfram Language tutorial for programers. You should have a basic familiarity with a programing language, e.g. Python, JavaScript.
This tutorial teachs you programing Wolfram language. just as you would using python, JavaScript, etc.
This tutorial does not teach you how to use Mathematica for calculus nor solving equations.
This tutorial focus on two aspects:
- Practical programing with WolframLang. For a highschool student, you'll have proficiency with WolframLang in a few days, learning all the basic operations common in other programing languages.
- Most importantly, this tutorial is written in a way to make you understand the principle of WolframLang and its symbolic pattern matching (term-rewriting system). For students, computer scientists, or experienced industrial programers.
The author has been programing WolframLang / Mathematica since 1992.
Table of Contents
- Download Wolfram Engine
- File Name Extension
- WolframScript: Command Options
- Notebook Tutorial
- Version History
Basics
Comment, Print
String
- String
- String Functions
- Get SubString, by Index
- Get SubString, by Pattern
- Delete SubString
- String Split
- String Join
- String Insert
- Convert String
- String Template (format)
- String Match
- String Replace
- Regular Expression
- String Expression
- StringExpression Pattern Syntax
- RegularExpression vs StringExpression
Number
Boolean
List
- List
- List. Position
- Nested List, Array, Tree, Dimensions
- List. Level (Depth)
- No Reference Concept in List
- List Operations
- List. Create (Table)
- Create Flat List (Range)
- List. Get Parts
- List. Add Element
- List. Delete Element
- List. Change Element
- List. Check Exist
- List. Filter
- List. Sort Reverse Order
- List. Reshape (split, group, flatten, transpose)
- List. Count, Group, Similar Items
- List. Combinatorics
- List. Join, Union, Intersection, Difference
Expression, Atom, Head
Variable
Conditional
Loop, Iteration
- Iteration
- List. Create (Table)
- Create Flat List (Range)
- Map Function to List
- Scan (foreach)
- Recursion
- Loop
- List Operations
Function
- Function
- Function Syntax Shortcut
- Define Function by Pattern
- Define Function with Optional Parameters
- Function Doc String
- Function Memoization (Function that Cache Values)
- Apply
Pattern Matching
- Pattern Matching
- Pattern Syntax
- Rule, RuleDelayed
- Replace Expression by Pattern
- Pattern Matching Functions
- Set, SetDelayed
- Pattern Matching and Level Spec
Data Structure
- Association (Key Value List)
- Create Association
- Association. Get Value
- Association. Check Key Exist
- Association. Check Value Exist
- Association. Add Item
- Association. Delete Items by Key
- Association. Delete Items by Index
- Association. Delete Items by Filter
- Association. Sort
- Association. Union, Intersection, Complement, Etc
- Map f to Association
- Association to List, Get All Keys or Values
Advanced
- Symbol
- Context (Namespace)
- Principles
- FullForm Syntax
- FullForm vs Short Syntax Example
- Notation Intro (Mathematica)
- Syntax, Operators Cheatsheet
Plot and Visualization
Graphics Programing
- Graphics Programing Index
- Graphics Primitives
- Graphics Directives
- Extract Graphics from Builtin Plot Functions
- Geometric Transformation Functions
- Apply Transform to Graphics
- Compose Transformations
- Translate Copy Graphics
- Transformation Matrix
- GraphicsComplex
- Mesh Region
- Graphics Misc
- Animation
Read Write File
Load Package
- Load a Package or File
- Writing a Package
- Get Script Path, Notebook Dir
- Init Dir, Library Dir
- Search Paths $Path for Loading File
- File Path Functions
Shell Tasks
- Shell Scripting Tasks
- Navigate Directory
- List Files (Walk Directory)
- File Path Functions
- Delete Dir
- is File or Dir
- File Exist
- Get File Date
- Get File Size
- Print File Content
- Get File Hash
- Read File
- Read File from Web
- Write File
- Load a Package or File
- Get Environment Variable
- Date Time
- Find Replace Script