aboutsummaryrefslogtreecommitdiff
path: root/docs/cheatsheet.txt
diff options
context:
space:
mode:
authorpmichaud <pmichaud@pobox.com>2012-08-28 00:36:53 -0500
committerpmichaud <pmichaud@pobox.com>2012-08-28 00:36:53 -0500
commitc012d8b882480151d8eb7da92c4cca80d1d9b814 (patch)
tree827354a3d38adfafe328ef55fa454147cc4af868 /docs/cheatsheet.txt
parentc3ff6182252a634e2ce8167a8bd367932e858dd5 (diff)
Move skel/ into top-level directory, to try building directly from the repo.
Diffstat (limited to 'docs/cheatsheet.txt')
-rw-r--r--docs/cheatsheet.txt64
1 files changed, 64 insertions, 0 deletions
diff --git a/docs/cheatsheet.txt b/docs/cheatsheet.txt
new file mode 100644
index 0000000..8b8d104
--- /dev/null
+++ b/docs/cheatsheet.txt
@@ -0,0 +1,64 @@
+Perl 6 cheat sheet v2 »ö«
+
+SIGILS MAJOR/MINOR CONTEXTS ACCESS ARRAYS HASHES
+$scalar item list sink whole: @array[] %hash{}
+@array Str flat/slice element: @array[0] %hash{'a'}
+%hash Num lazy/eager/hyper (or) %hash<a>
+&code Bool slice: @array[0,2] %hash{'a','b'}
+ COMPOSERS (or) %hash<a b>
+TWIGILS [ ] array
+$normal-lexical { } block/hash AUTOMATIC DEREFERENCE
+$?compiler-constant < > quotewords &($foo)(1,2) == $foo(1,2)
+$*dynamic-or-global (,) parcel @($foo)[1] == $foo[1]
+$.public-accessor :() signature %($foo){'bar'} == $foo<bar>
+$!private-attribute \() capture @(@($foo)[1])[2] == $foo[1][2]
+$^positional-param
+$:named-parameter CONTROL SYNTAX
+$=pod-info for LIST { } # implicit $_ arg
+$<named-match-capture> for LIST -> $a, $b { } # explicit args
+$~slang-variable while/until EXPR { }
+ repeat while/until EXPR { } # do at least once
+OPERATOR PRECEDENCE loop { } loop (a;b;c) { } # parens required!
+.method .[] i if EXPR { } elsif EXPR { } else { }
+++ -- unless EXPR { } # no else allowed!
+** given EXPR { when EXPR { } default { } }
+unary + - ~ ! ? ^ EXPR if EXPR for LIST; # list comprehension
+* / % %% div next, last, redo # loop controls
++ - proceed, succeed # switch controls
+x xx TYPES
+~ Bool Bit Int Rat FatRat UInt Num Complex int32 complex64 etc.
+& Str Cat Blob Char Byte Codepoint Grapheme Buf buf8 buf32 utf8
+| ^ IO Mu Any Cool Junction Whatever Match
+sleep abs sin temp Parcel Capture Signature
+<=> leg cmp .. but SCOPE DECLARATORS Pair Range Set Bag
+~~ > == gt eq === eqv !op my lexical scope KeyHash KeySet KeyBag
+&& our package scope Scalar Array Hash Code
+|| ^^ // min max has instance scope Enum Order TrigBase
+??!! ff anon no scope at all Block Routine Sub
+= := op= => state persistent lexical Method Regex
+so not augment benign parasitic Failure Exception
+, : supersede deadly parasitic Instant Duration
+X Xop Z Zop ... Date DateTime
+say die map etc. OPERATOR DOMAINS
+and Numeric: == !==(!=) + < > <=> <= >=
+or xor Stringy: eq !eq(ne) ~ lt gt leg le ge
+<== ==> Value: eqv !eqv before after cmp !after !before
+ ObjectID: === !===
+METAOPERATORS LINKS IRC
+[op] reduce listop to A op B op C... perl6.org #perl6 irc.freenode.net
+op= A = A op B rakudo.org #parrot irc.perl.org
+!op !(A op B)
+»op« hyper/vectorize REGEX METACHARS REGEX MODIFIERS
+Zop zip with op ^ $ string begin/end :i ignore case
+Xop cross with op ^^ $$ line begin/end :m ignore marks
+Rop reverse args + one or more :g global
+Sop sequentialize * zero or more :r ratchet
+ ? zero or one :s sigspace
+SPECIAL VARIABLES **1..3 repeat in range :4th nth occurrence
+$_ current topic () capture to $0,$1 :4x n times
+$/ regex result [] no capture
+$! error object <foo> subrule REGEX CHARCLASSES
+@*ARGS command line <[]> character class . == anychar, \N non \n
+@*INC include path | parallel or \s == <space>, \S non
+%*ENV environment || serial or \d == <digit>, \D non
+$*PID process id « » word boundary \w == <+alpha+digit+[_]>