Introducing Elixir: [getting started in functional programming]
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Beijing [u.a.]
O'Reilly
2014
|
Ausgabe: | 1. ed. |
Schlagworte: | |
Online-Zugang: | Inhaltstext Inhaltsverzeichnis |
Beschreibung: | XIV, 192 S. Ill. |
ISBN: | 9781449369996 1449369995 |
Internformat
MARC
LEADER | 00000nam a22000008c 4500 | ||
---|---|---|---|
001 | BV042063171 | ||
003 | DE-604 | ||
005 | 20141129 | ||
007 | t | ||
008 | 140908s2014 xxua||| |||| 00||| eng d | ||
015 | |a 14,N27 |2 dnb | ||
016 | 7 | |a 1052648681 |2 DE-101 | |
020 | |a 9781449369996 |9 978-1-4493-6999-6 | ||
020 | |a 1449369995 |9 1-4493-6999-5 | ||
035 | |a (OCoLC)894732600 | ||
035 | |a (DE-599)DNB1052648681 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a eng | |
044 | |a xxu |c XD-US | ||
049 | |a DE-706 |a DE-11 | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a 004 |2 sdnb | ||
100 | 1 | |a Saint Laurent, Simon |e Verfasser |4 aut | |
245 | 1 | 0 | |a Introducing Elixir |b [getting started in functional programming] |c Simon St. Laurent ; J. David Eisenberg |
250 | |a 1. ed. | ||
264 | 1 | |a Beijing [u.a.] |b O'Reilly |c 2014 | |
300 | |a XIV, 192 S. |b Ill. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a Funktionale Programmierung |0 (DE-588)4198740-8 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Funktionale Programmierung |0 (DE-588)4198740-8 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Eisenberg, J. David |e Verfasser |4 aut | |
856 | 4 | 2 | |m X:MVB |q text/html |u http://deposit.dnb.de/cgi-bin/dokserv?id=4696453&prov=M&dok_var=1&dok_ext=htm |3 Inhaltstext |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027504012&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-027504012 |
Datensatz im Suchindex
_version_ | 1806329019742814208 |
---|---|
adam_text |
Titel: Introducing Elixir
Autor: St. Laurent, Simon
Jahr: 2014
Table of Contents Preface .vii 1. Getting Comfortable. 1 Installation 1 Installing Erlang 1 Installing Elixir 2 Firing It Up 2 First Steps 2 Moving Through Text and History 3 Moving Through Files 3 Doing Something 4 Calling Functions 5 Numbers in Elixir 6 Working with Variables in the Shell 8 2. Functions and Modules.11 Fun with fn 11 And the 13 Defining Modules 13 From Module to Free-Floating Function 16 Splitting Code Across Modules 17 Combining Functions with the Pipe Operator 18 Importing Functions 19 Default Values for Arguments 20 Documenting Code 21 Documenting Functions 22 Documenting Modules 23 iii
3. Atoms, Tuples, and Pattern Matching.25 Atoms 25 Pattern Matching with Atoms 25 Atomic Booleans 27 Guards 28 Underscoring That You Don’t Care 31 Adding Structure: Tuples 33 Pattern Matching with Tuples 33 Processing Tuples 34 4. Logic and Recursion.37 Logic Inside of Functions 37 Evaluating Cases 37 Adjusting to Conditions 40 If, or else 41 Variable Assignment in case and if Constructs 42 The Gentlest Side Effect: IO.puts 43 Simple Recursion 44 Counting Down 45 Counting Up 46 Recursing with Return Values 47 5. Communicating with Humans. 51 Strings 51 Multiline Strings 53 Unicode 54 Character Lists 54 String Sigils 55 Asking Users for Information 56 Gathering Characters 56 Reading Lines of Text 58 6. Lists. 61 List Basics 61 Splitting Lists into Heads and Tails 63 Processing List Content 64 Creating Lists with Heads and Tails 66 Mixing Lists and Tuples 68 Building a List of Lists 68 7. Name-Value Pairs. 73 Keyword Lists 73 iv I Table of Contents
Lists of Tuples with Multiple Keys 75 Hash Dictionaries 76 From Lists to Maps 77 Creating Maps 77 Updating Maps 78 Reading Maps 78 From Maps to Structs 78 Setting Up Structs 79 Creating and Reading Structs 79 Pattern Matching Against Structs 80 Using Structs in Functions 80 Adding Behavior to Structs 82 Adding to Existing Protocols 84 Higher-Order Functions and List Comprehensions. . 87 Simple Higher-Order Functions 87 Creating New Lists with Higher-Order Functions 89 Reporting on a List 90 Running List Values Through a Function 90 Filtering List Values 91 Beyond List Comprehensions 92 Testing Lists 92 Splitting Lists 93 Folding Lists 94 Playing with Processes. . 97 The Shell Is a Process 97 Spawning Processes from Modules 99 Lightweight Processes 102 Registering a Process 102 When Processes Break 104 Processes Talking Amongst Themselves 105 Watching Your Processes 107 Watching Messages Among Processes 109 Breaking Things and Linking Processes 110 Exceptions, Errors, and Debugging. . 119 Flavors of Errors 119 Rescuing Code from Runtime Errors as They Happen 120 Logging Progress and Failure 122 Tracing Messages 123 Watching Function Calls 125 Table of Contents 1 v
Writing Unit Tests 126 11. Storing Structured Data. 131 Records: Structured Data Before structs 131 Setting Up Records ' 32 Creating and Reading Records 133 Using Records in Functions 134 Storing Data in Erlang Term Storage 136 Creating and Populating a Table 138 Simple Queries 142 Overwriting Values 143 ETS Tables and Processes 144 Next Steps 146 Storing Records in Mnesia 146 Starting up Mn esi a 146 Creating Tables 147 Reading Data 151 12. Getting Started with OTP. 153 Creating Services with gen_server 154 A Simple Supervisor 159 Packaging an Application with Mix 162 13. Using Macros to Extend Elixir.167 Functions versus Macros 167 A Simple Macro 168 Creating New Logic 170 Creating Functions Programatically 171 When (Not) to Use Macros 173 Sharing the Gospel of Elixir 173 A. An Elixir Parts Catalog. 175 B. Generating Documentation with ExDoc. 183 Index. 187 vi | Table of Contents |
any_adam_object | 1 |
author | Saint Laurent, Simon Eisenberg, J. David |
author_facet | Saint Laurent, Simon Eisenberg, J. David |
author_role | aut aut |
author_sort | Saint Laurent, Simon |
author_variant | l s s ls lss j d e jd jde |
building | Verbundindex |
bvnumber | BV042063171 |
classification_rvk | ST 250 |
ctrlnum | (OCoLC)894732600 (DE-599)DNB1052648681 |
discipline | Informatik |
edition | 1. ed. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a22000008c 4500</leader><controlfield tag="001">BV042063171</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20141129</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">140908s2014 xxua||| |||| 00||| eng d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">14,N27</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1052648681</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781449369996</subfield><subfield code="9">978-1-4493-6999-6</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1449369995</subfield><subfield code="9">1-4493-6999-5</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)894732600</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1052648681</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">XD-US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-706</subfield><subfield code="a">DE-11</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Saint Laurent, Simon</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Introducing Elixir</subfield><subfield code="b">[getting started in functional programming]</subfield><subfield code="c">Simon St. Laurent ; J. David Eisenberg</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Beijing [u.a.]</subfield><subfield code="b">O'Reilly</subfield><subfield code="c">2014</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XIV, 192 S.</subfield><subfield code="b">Ill.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Funktionale Programmierung</subfield><subfield code="0">(DE-588)4198740-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Funktionale Programmierung</subfield><subfield code="0">(DE-588)4198740-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Eisenberg, J. David</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">X:MVB</subfield><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=4696453&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Inhaltstext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027504012&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-027504012</subfield></datafield></record></collection> |
id | DE-604.BV042063171 |
illustrated | Illustrated |
indexdate | 2024-08-03T01:46:31Z |
institution | BVB |
isbn | 9781449369996 1449369995 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-027504012 |
oclc_num | 894732600 |
open_access_boolean | |
owner | DE-706 DE-11 |
owner_facet | DE-706 DE-11 |
physical | XIV, 192 S. Ill. |
publishDate | 2014 |
publishDateSearch | 2014 |
publishDateSort | 2014 |
publisher | O'Reilly |
record_format | marc |
spelling | Saint Laurent, Simon Verfasser aut Introducing Elixir [getting started in functional programming] Simon St. Laurent ; J. David Eisenberg 1. ed. Beijing [u.a.] O'Reilly 2014 XIV, 192 S. Ill. txt rdacontent n rdamedia nc rdacarrier Funktionale Programmierung (DE-588)4198740-8 gnd rswk-swf Funktionale Programmierung (DE-588)4198740-8 s DE-604 Eisenberg, J. David Verfasser aut X:MVB text/html http://deposit.dnb.de/cgi-bin/dokserv?id=4696453&prov=M&dok_var=1&dok_ext=htm Inhaltstext HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027504012&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Saint Laurent, Simon Eisenberg, J. David Introducing Elixir [getting started in functional programming] Funktionale Programmierung (DE-588)4198740-8 gnd |
subject_GND | (DE-588)4198740-8 |
title | Introducing Elixir [getting started in functional programming] |
title_auth | Introducing Elixir [getting started in functional programming] |
title_exact_search | Introducing Elixir [getting started in functional programming] |
title_full | Introducing Elixir [getting started in functional programming] Simon St. Laurent ; J. David Eisenberg |
title_fullStr | Introducing Elixir [getting started in functional programming] Simon St. Laurent ; J. David Eisenberg |
title_full_unstemmed | Introducing Elixir [getting started in functional programming] Simon St. Laurent ; J. David Eisenberg |
title_short | Introducing Elixir |
title_sort | introducing elixir getting started in functional programming |
title_sub | [getting started in functional programming] |
topic | Funktionale Programmierung (DE-588)4198740-8 gnd |
topic_facet | Funktionale Programmierung |
url | http://deposit.dnb.de/cgi-bin/dokserv?id=4696453&prov=M&dok_var=1&dok_ext=htm http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027504012&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT saintlaurentsimon introducingelixirgettingstartedinfunctionalprogramming AT eisenbergjdavid introducingelixirgettingstartedinfunctionalprogramming |