万本电子书0元读

万本电子书0元读

顶部广告

Perl 6 Deep Dive电子书

售       价:¥

13人正在读 | 0人评论 9.8

作       者:Andrew Shitov

出  版  社:Packt Publishing

出版时间:2017-09-11

字       数:43.0万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Learn Perl 6 effortlessly to solve everyday problems About This Book ? Filled with practical examples, this comprehensive guide explores all aspects of Perl 6. ? Leverage the power of Perl 6 concurrency to develop responsive and high-performant software. ? Delves into various programming paradigms (such as Object Oriented, functional, and reactive) that can be adopted by Perl 6 developers to write effective code. Who This Book Is For This book is for developers who would like to learn the Perl programming language. A basic knowledge of programming is assumed. What You Will Learn ? Learn the background from which Perl 6 appeared and how it developed. ? How to use Rakudo to run your programs. ? Various Perl 6 built-in types and details about their behavior ? Understand how scalar variables, hash variables, and arrays work ? Create meta operators and hyper operators ? How classes work and how to build software based on the Object Oriented Paradigm ? How Perl 6 provides support for concurrency, functional programming, and reactive programming. In Detail Perl is a family of high-level, general-purpose, interpreted, dynamic programming languages consisting of Perl 5 and Perl 6. Perl 6 helps developers write concise and declarative code that is easy to maintain. This book is an end-to-end guide that will help non-Perl developers get to grips with the language and use it to solve real-world problems. Beginning with a brief introduction to Perl 6, the first module in the book will teach you how to write and execute basic programs. The second module delves into language constructs, where you will learn about the built-in data types, variables, operators, modules, subroutines, and so on available in Perl 6. Here the book also delves deeply into data manipulation (for example, strings and text files) and you will learn how to create safe and correct Perl 6 modules. You will learn to create software in Perl by following the Object Oriented Paradigm. The final module explains in detail the incredible concurrency support provided by Perl 6. Here you will also learn about regexes, functional programming, and reactive programming in Perl 6. By the end of the book, with the help of a number of examples that you can follow and immediately run, modify, and use in practice, you will be fully conversant with the benefits of Perl 6. Style and approach This book will take you through essential Perl 6 concepts so you can implement them immediately
目录展开

Title Page

Copyright

Perl 6 Deep Dive

Credits

About the Author

Acknowledgements

About the Reviewer

www.PacktPub.com

Why subscribe?

Customer Feedback

Preface

What this book covers

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Downloading the example code

Errata

Piracy

Questions

What is Perl 6?

Origins of Perl 6

Differences from Perl 5

Sigils

Signatures

Classes

Compatibility with Perl 5

Perl 6 resources

Documentation

Test Suite

STD.pm

Community

Compilers

Parrot

Pugs

Perlito

Rakudo

Working with Rakudo Star

Downloading and installing Rakudo Star

Command-line options

The -c command

The --doc command

The -e command

The -h and --help commands

The -n command

The -p command

The -I and -M commands

The -v and --version command

The --stagestats command

Writing our Hello World program

Summary

Writing Code

Using Unicode

Whitespaces and unspaces

Comments

One-line comments

Multiline comments

Embedded comments

Creating Pod documentation

The =begin / =end Pod block

Phasers

Simple input and output

Summary

Working with Variables and Built-in Data Types

Using variables

Declaring variables

Variable containers in Perl 6

Scalars

Arrays

Methods of the Array type

Hashes

Methods of the Hash class

Naming conventions

Typed variables

Using simple built-in data types

Integer data type

Methods of the Int type

Converting to a character using the chr method

Checking whether the number is prime

Generating a random number

Getting the sign of the value

Calculating the square root of the value

Getting the next and previous values

Getting the absolute value

Rational data type

Methods of the Rat type

Getting the Perl representation of the value

Converting to an Int value

Getting the numerator and denominator

Methods for rounding the value

Methods pred and succ

Numeric data type

Num versus Numeric versus Real

Enumerations

Boolean data type

Methods of the Bool type

Using pred and succ

Methods to generate random Boolean values

String data type

Methods of the Str class

Converting register

Methods to cut strings

Methods to check the content of a string

Length of the string

Reversing a string

Complex numbers

Methods of the Complex data type

Getting real and imaginary parts

Data types to manipulate date and time

Using the Date class

Using the DateTime data type

Summary

Working with Operators

Operator classification

Categories of operators

Operators as functions

Operators in Perl 6

Infix operators

Assignment operators

Operators for multiplication and division

Operators for addition and subtraction

Modulo operator

Divisibility operator

Integer division and modulo operators

Bitwise operators

Integer shift operators

String logical operators

Boolean logical operators

Great common divisor and least common multiple operators

String repetition operator

List repetition operator

String concatenation operator

Junction operators

The does operator

The but operator

Universal comparison operator

String comparison operator leg

Comparison operator for Real numbers

Range creating operator

Equality and non-equality operators

Numerical comparison operators

String comparison operators eq and ne

Other string comparison operators

The before and after operators

Equivalency test operator

Value identity operator

Bound check operator

Smartmatch operator

Approximate-equality operator

Boolean logical operators

Defined-or operator

Operators for minimum and maximum

Pair creation operator

Comma operator

Invocant separator

Zip operator

Cross operator

Sequence operator

Binding operators

Logical operator with lower precedence

Data pipe operators

Ternary operator ?? !!

Prefix operators

Increment and decrement operators ++ and --

Boolean coercion operator

Boolean negation operator

Numeric coercion operator

Numeric negation operator

String coercion operator

Two-complement binary negation operator

Boolean coercion and negation operator

The upto operator

The temp operator

The let operator

The not operator

The so operator

Postfix operators

Object-oriented postfix operators

Increment and decrement operators

Circumfix operators

Quote-word operator

Group operator

Hash or block creation operator

Postcircumfix operators

Positional access operator

Element access operators

Invoke operator

Meta-operators in Perl 6

Assignment meta-operator

Negation meta-operator

Reverse meta-operator

Reduction meta-operator

Cross meta-operator

Zip meta-operator

Hyper-operators

User-defined operators

Summary

Control Flow

Understanding code blocks and variable scoping

The do keyword

Conditional checks

Using loops

The loop cycle

The for loop

Using while, until, and repeat

Breaking the loop

Using labels

Executing code once

Collecting data with gather and take

Setting the topic with given

Summary

Subroutines

Creating and calling subroutines

Default values

Optional parameters

Named parameters

Parameter traits

Slurpy parameters

Parameter placeholders

Type constraints

Typed parameters

Return type

Multi subs

An example

Nested subroutines

Creating operators

Passing functions as arguments

Anonymous subs

Summary

Modules

Creating a module

Using modules

The need keyword

The import keyword

The use keyword

The require keyword

Scoping

More on is export

Exporting variables

Selective import

Introspection

Using zef

Installing a module

Searching for a module

Uninstalling modules

zef command summary

How Rakudo stores modules

Summary

Object-Oriented Programming

Creating a class

Working with attributes

Read-and-write attributes

Typed attributes

Using other classes as data types

Working with methods

Private methods

More about attributes

Public and private attributes

Automatic getters and setters

Class attributes

Class methods

Inheritance

Inheriting from a class

Using child class instances as objects of a base class

Overriding methods

Submethods

Multiple inheritance

Appending objects and classes using roles

Using introspection to learn more

Method postfix operators

Summary

Input and Output

Standard input and output

Working with files and directories

Opening a file

Closing a file

Testing file and directory properties

Manipulating files

Working with directories

Reading from a stream

Reading a single line

Reading characters

Lazy readers

The eof method

Writing to a stream

The print function

The say method

Example of using the gist method

The printf method

Characters and strings

Integers

Floating-point numbers

Summary

Working with Exceptions

The try block

The $! variable

Soft failures

The CATCH phaser

The Exception object

Throwing exceptions

Resuming from exceptions

Typed exceptions

Rethrowing exceptions

The Failure object

Creating custom exceptions

Summary

Regexes

Matching against regexes

Literals

Character classes

The . (dot) character

Backslashed character classes

\s and \S characters

\t and \T characters

\h and \H characters

\v and \V characters

\n and \N characters

\d and \D characters

\w and \W characters

Character classes

Predefined subrules

Using Unicode properties

Character class arithmetics

Creating repeated patterns with quantifiers

Greediness

Extracting substrings with capturing

Capturing groups

The Match object

Named captures

Using alternations in regexes

Positioning regexes with anchors

Matching at the start and at the end of lines or strings

Matching word boundaries

Looking forward and backward with assertions

Modifying regexes with adverbs

:i (:ignorecase)

:s (:sigspace)

:p (:pos)

:g (:global)

:c (:continue)

:r (:ratchet)

:ov (:overlap)

:ex (:exhaustive)

Substitution and altering strings with regexes

Summary

Grammars

Creating a grammar

Matching a grammar

Using rules and tokens

Using actions

Using abstract syntax tree attributes

Handling expressions

Using the actions class

The whole program

Summary

Concurrent Programming

Junctions

Autothreading

Threads

Starting a thread

Creating and running a new thread

The id and name methods

Printing thread objects as a string

Lifetime threads

Using locks in Perl 6

Promises

Creating a promise

Statuses of a promise

Factory methods

The result of a promise

Combining promises

Executing code after the promise is kept or broken

The anyof and allof methods

Channels

Basic use cases

To wait or not to wait?

Closing channels

Channels as queues

Summary

Functional Programming

What is functional programming?

Using recursion

Using reduction

Higher-order functions and lambdas

The WhateverCode blocks

Piping data and feed operators

Manipulating the scope

Closures

Currying

Dynamic scope

Creating and using iterators

Lazy and infinite lists

Summary

Reactive Programming

What is reactive programming?

On-demand supplies

Generating data with supplies

The react and whenever keywords

Using lists as the source of the supply data

Live supplies

Filtering and transforming data streams

Summary

累计评论(0条) 1个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部