The "Unknown:"s below indicate that an entry is incomplete.
foo ... end where foo in { if, for, while, ... } | block (grouping statements, especially when statements are not expressions) |
... | breaking lines (useful when end-of-line and/or indentation has a special meaning) |
%( ... %) | commenting (nestable) |
% | commenting (until end of line) |
< > <= >= | comparison |
min / max | comparison (min / max (binary or more)) |
function MYFUNCTION %MYFUNCTION the very first comment line is displayed in the help table of contents % % the remaining lines are displayed when getting help for MYFUNCTION % | documentation comment |
== ~= eq ne isequal isequalwithequalnans | equality / inequality (deep) |
( ... ) | grouping expressions |
eval | runtime evaluation |
case-sensitive | tokens (case-sensitivity (keywords, variable identifiers...)) |
[a-zA-Z][_a-zA-Z0-9]* | tokens (variable identifier regexp) |
lowercasenoseparator | tokens (what is the standard way for scrunching together multiple words) |
= | variable assignment or declaration (assignment) |
global v1 v2 | variable assignment or declaration (declaration) |
inline('...x...y...')(1) | anonymous function |
f(a,b,...) | function call |
f a b ... | function call |
f | function call (with no parameter) |
function retval = f(para1, para2) retval = ... | function definition |
function f(para1, para2) ... | function definition (procedures) |
function f(varargin) for i=1:nargin ...(varargin{i}) end | function definition (variable number of arguments) |
return(2) | function return value (breaks the control flow) |
no syntax needed(3) | function return value (function body is the result) |
<retvar name> = val; | function return value (setting the result) |
evalin('caller', ...) | runtime inspecting the caller information |
continue / break | breaking control flow (continue / break) |
return(2) | breaking control flow (returning a value) |
try a catch ... end | exception (catching) |
error | exception (throwing) |
if c, ..., end | if_then |
if c ... end | if_then |
if c1, b1, elseif c2, b2, else, b3, end | if_then_else |
if c b1 elseif c2 b2 else b3 end | if_then_else |
for i = 10:-1:1, ..., end | loop (for each value in a numeric range, 1 decrement) |
for i = 1:10, ..., end | loop (for each value in a numeric range, 1 increment (see also the entries about ranges)) |
for i = 1:3:10, ..., end | loop (for each value in a numeric range, free increment) |
while c, ..., end | loop (while condition do something) |
switch val case v1 ... case {v2,v3} ... otherwise ... end | multiple selection (switch) |
, | sequence |
; | sequence |
end-of-line | sequence |
t(e) | cast (computed conversion (calls an internal or a user-defined function)) |
typecast(e,t) | cast (downcast (need runtime checking)) |
typecast(e,t) | cast (upcast) |
mutability is the default | mutability, constness (type of a mutable value) |
class | class declaration |
first parameter(4) | current instance |
class | get the type/class corresponding to an object/instance/value |
ismethod | has the method |
method(object, para) | method invocation |
method(object) | method invocation (with no parameter) |
methods | methods available |
o2 = o(5) | object cloning |
class_name(...) | object creation |
isa | testing class membership |
Unknown:
inheritance
accessing parent method
package declare(6) | declare |
all files in package directory are exported. files in /private sub-directory are not exported, but can be used by the package itself | declare (selective export) |
addpath | import (everything into current namespace) |
/ | package scope |
s(n) | accessing n-th character |
char | ascii to character |
'z' | character "z" |
(done automatically when applying mathematical operations on char, such as +) | character to ascii |
repmat | duplicate n times |
s(n:m) | extract a substring |
strfind | locate a substring |
t=strfind(s,p), t(end) | locate a substring (starting at the end) |
nothing - just remove ";" at the end of the expression, and it will print it | simple print (on any objects) |
disp | simple print (on any objects) |
printf | simple print (printf-like) |
sprintf | sprintf-like |
[string1 string2] | string concatenation |
strcmp | string equality & inequality |
== ~= | string equality & inequality |
length | string size |
'...' | strings (with no interpolation of variables) |
upper / lower(7) | upper / lower case character |
upper / lower | uppercase / lowercase / capitalized string |
Unknown:
strings (with interpolation of variables)
multi-line
convert something to a string (see also string interpolation)
serialize (marshalling)
unserialize (un-marshalling)
false | false value |
array containing at least one false value | false value |
0(8) | false value |
0.0 | false value |
'' | false value |
[] | false value |
{} | false value |
~ | logical not |
| / & | logical or / and (non short circuit (always evaluates both arguments)) |
|| / && | logical or / and (short circuit) |
anything not false | true value |
logical | type name |
a(1,:), a(2,:) | 2 lists from a list of couples |
[e l] | adding an element at the beginning (list cons) (return the new list (no side-effect)) |
[l e] | adding an element at the end (return the new list (no side-effect)) |
a(2:end) | all but the first element |
find(a == 3) | find an element |
ismember | is an element in the list |
any(9) | is the predicate true for an element |
strcat | join a list of strings in a string using a glue string |
a(a == 3) | keep elements (matching) |
a(end) | last element |
, | list concatenation |
[ a, b, c ](10) | list constructor |
[a b] | list of couples from 2 lists |
[a.(:)] | list out of a bag |
size | list size |
length | list size |
numel | list size |
a(i) | list/array indexing |
a.(e) | lookup an element in a association list |
unique(11) | remove duplicates |
fliplr flipud... | reverse |
min / max | smallest / biggest element |
sort(12) | sort |
magical: sin(x) computes sin on each element | transform a list (or bag) in another one |
magical: a binary function or operator is appliied on each element | transform two lists in parallel |
cell | type name |
{} | computable tuple (these are a kind of immutable lists playing a special role in parameter passing) (empty tuple) |
t{:} | computable tuple (these are a kind of immutable lists playing a special role in parameter passing) (using a tuple for a function call) |
h.k | dictionary (access: read/write) |
struct(a, b, c, d) | dictionary (constructor) |
isfield | dictionary (has the key ?) |
fieldnames | dictionary (list of keys) |
struct2cell | dictionary (list of values) |
rmfield | dictionary (remove by key) |
struct | dictionary (type name) |
a:b | range (inclusive .. inclusive) |
. | record (selector) |
{ a, b, c } | tuple constructor |
Unknown:
computable tuple (these are a kind of immutable lists playing a special role in parameter passing) (1-uple)
optional value (null value)
optional value (value)
optional value (null coalescing)
dictionary (merge)
+ / - / * / / | addition / subtraction / multiplication / division |
bitand / bitor / bitxor | bitwise operators (and / or / xor) |
bitcmp | bitwise operators (bitwise inversion) |
bitshift | bitwise operators (left shift / right shift / unsigned right shift) |
^ | exponentiation (power) |
log10 | logarithm (base 10) |
log2 | logarithm (base 2) |
log | logarithm (base e) |
rem | modulo (modulo of -3 / 2 is -1) |
mod | modulo (modulo of -3 / 2 is 1) |
- | negation |
1000, 1000., 1000.0 | numbers syntax (integers) |
mathematical | operator priorities and associativities (addition vs multiplication) |
mathematical | operator priorities and associativities (exponentiation vs negation (is -3^2 equal to 9 or -9)) |
rand | random (random number) |
rand('state',...) | random (seed the pseudo random generator) |
sqrt realsqrt / exp / abs | square root / e-exponential / absolute value |
sin / cos / tan | trigonometry (basic) |
asin / acos / atan(13) | trigonometry (inverse) |
trunc / round / floor / ceil | truncate / round / floor / ceil |
single, double | type name (floating point) |
int8, uint8, int16, uint16, ...64 | type name (integers) |
Unknown:
numbers syntax (floating point)