From c012d8b882480151d8eb7da92c4cca80d1d9b814 Mon Sep 17 00:00:00 2001 From: pmichaud Date: Tue, 28 Aug 2012 00:36:53 -0500 Subject: Move skel/ into top-level directory, to try building directly from the repo. --- docs/cheatsheet.txt | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 docs/cheatsheet.txt (limited to 'docs/cheatsheet.txt') 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 +&code Bool slice: @array[0,2] %hash{'a','b'} + COMPOSERS (or) %hash +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 +$!private-attribute \() capture @(@($foo)[1])[2] == $foo[1][2] +$^positional-param +$:named-parameter CONTROL SYNTAX +$=pod-info for LIST { } # implicit $_ arg +$ 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 subrule REGEX CHARCLASSES +@*ARGS command line <[]> character class . == anychar, \N non \n +@*INC include path | parallel or \s == , \S non +%*ENV environment || serial or \d == , \D non +$*PID process id « » word boundary \w == <+alpha+digit+[_]> -- cgit v1.1