1869 lines
49 KiB
HTML
1869 lines
49 KiB
HTML
|
|
<!DOCTYPE HTML>
|
|
<html lang="" >
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
|
<title>Printing · Learn Lisp The Hard Way</title>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="description" content="">
|
|
<meta name="generator" content="GitBook 3.2.3">
|
|
<meta name="author" content=""the Phoeron" Colin J.E. Lupton">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="gitbook/style.css">
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="gitbook/gitbook-plugin-hints/plugin-hints.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="gitbook/gitbook-plugin-folding-chapters/folding-chapters.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<meta name="HandheldFriendly" content="true"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
|
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
|
|
<link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
|
|
|
|
|
|
<link rel="next" href="1-02-09-more-printing.html" />
|
|
|
|
|
|
<link rel="prev" href="1-02-07-strings-from-chars.html" />
|
|
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<div class="book">
|
|
<div class="book-summary">
|
|
|
|
|
|
<div id="book-search-input" role="search">
|
|
<input type="text" placeholder="Type to search" />
|
|
</div>
|
|
|
|
|
|
<nav role="navigation">
|
|
|
|
|
|
|
|
<ul class="summary">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="header">LEARN LISP THE HARD WAY</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="1.1" data-path="./">
|
|
|
|
<a href="index.html">
|
|
|
|
|
|
Second Draft (in-progress)
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.2" data-path="CHANGELOG.html">
|
|
|
|
<a href="CHANGELOG.html">
|
|
|
|
|
|
CHANGELOG
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.3" data-path="TODO.html">
|
|
|
|
<a href="TODO.html">
|
|
|
|
|
|
TODO
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">PREFACE</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="2.1" data-path="preface.html">
|
|
|
|
<a href="preface.html">
|
|
|
|
|
|
TANSTAAFL
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.2" data-path="preface-part-two.html">
|
|
|
|
<a href="preface-part-two.html">
|
|
|
|
|
|
The Hard Way is Easier
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.3" data-path="preface-part-three.html">
|
|
|
|
<a href="preface-part-three.html">
|
|
|
|
|
|
Who Is This Book For?
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.4" data-path="introduction.html">
|
|
|
|
<a href="introduction.html">
|
|
|
|
|
|
Lisp: A Future History
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.5" data-path="acknowledgements.html">
|
|
|
|
<a href="acknowledgements.html">
|
|
|
|
|
|
Acknowledgements
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">PART ONE</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="3.1" data-path="1-0-0-overview.html">
|
|
|
|
<a href="1-0-0-overview.html">
|
|
|
|
|
|
Grokking Lisp
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.1.1" data-path="1-01-00-lisp-bootcamp.html">
|
|
|
|
<a href="1-01-00-lisp-bootcamp.html">
|
|
|
|
|
|
Common Lisp Bootcamp
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.1.1.1" data-path="1-01-01-syntax-overview.html">
|
|
|
|
<a href="1-01-01-syntax-overview.html">
|
|
|
|
|
|
Syntax Overview in 5 Minutes
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.1.2" data-path="1-01-02-repl.html">
|
|
|
|
<a href="1-01-02-repl.html">
|
|
|
|
|
|
The REPL
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.1.3" data-path="1-01-03-expressions.html">
|
|
|
|
<a href="1-01-03-expressions.html">
|
|
|
|
|
|
Expressions, Parentheses, and Return Values
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.1.4" data-path="1-01-04-lists-cons-cells.html">
|
|
|
|
<a href="1-01-04-lists-cons-cells.html">
|
|
|
|
|
|
Lists, Cons-Cells, and Memory
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.1.5" data-path="1-01-05-symbols.html">
|
|
|
|
<a href="1-01-05-symbols.html">
|
|
|
|
|
|
Symbols and Namespaces
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.1.6" data-path="1-01-06-prefix-notation.html">
|
|
|
|
<a href="1-01-06-prefix-notation.html">
|
|
|
|
|
|
Prefix Notation
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.1.7" data-path="1-01-07-style-guide.html">
|
|
|
|
<a href="1-01-07-style-guide.html">
|
|
|
|
|
|
Common Lisp Style Guide
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.1.8" data-path="1-01-08-configuration.html">
|
|
|
|
<a href="1-01-08-configuration.html">
|
|
|
|
|
|
Configuring Your Development Environment
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2" data-path="1-02-00-input-output.html">
|
|
|
|
<a href="1-02-00-input-output.html">
|
|
|
|
|
|
Printing, Streams, and Strings
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.1.2.1" data-path="1-02-01-strings.html">
|
|
|
|
<a href="1-02-01-strings.html">
|
|
|
|
|
|
Strings
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.2" data-path="1-02-02-more-strings.html">
|
|
|
|
<a href="1-02-02-more-strings.html">
|
|
|
|
|
|
More Strings
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.3" data-path="1-02-03-unicode.html">
|
|
|
|
<a href="1-02-03-unicode.html">
|
|
|
|
|
|
Unicode and Strings
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.4" data-path="1-02-04-chars.html">
|
|
|
|
<a href="1-02-04-chars.html">
|
|
|
|
|
|
Characters
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.5" data-path="1-02-05-more-chars.html">
|
|
|
|
<a href="1-02-05-more-chars.html">
|
|
|
|
|
|
More Characters
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.6" data-path="1-02-06-char-codes.html">
|
|
|
|
<a href="1-02-06-char-codes.html">
|
|
|
|
|
|
Character Codes
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.7" data-path="1-02-07-strings-from-chars.html">
|
|
|
|
<a href="1-02-07-strings-from-chars.html">
|
|
|
|
|
|
Strings from Chars
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter active" data-level="3.1.2.8" data-path="1-02-08-printing.html">
|
|
|
|
<a href="1-02-08-printing.html">
|
|
|
|
|
|
Printing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.9" data-path="1-02-09-more-printing.html">
|
|
|
|
<a href="1-02-09-more-printing.html">
|
|
|
|
|
|
More Printing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.10" data-path="1-02-10-prin1.html">
|
|
|
|
<a href="1-02-10-prin1.html">
|
|
|
|
|
|
Printing With prin1
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.11" data-path="1-02-11-princ.html">
|
|
|
|
<a href="1-02-11-princ.html">
|
|
|
|
|
|
Printing With princ
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.12" data-path="1-02-12-format.html">
|
|
|
|
<a href="1-02-12-format.html">
|
|
|
|
|
|
A Brief Introduction to Format
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.13" data-path="1-02-13-more-format.html">
|
|
|
|
<a href="1-02-13-more-format.html">
|
|
|
|
|
|
A Little Bit More on Format
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.14" data-path="1-02-14-pathnames.html">
|
|
|
|
<a href="1-02-14-pathnames.html">
|
|
|
|
|
|
Pathnames
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.15" data-path="1-02-15-streams.html">
|
|
|
|
<a href="1-02-15-streams.html">
|
|
|
|
|
|
Streams
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.16" data-path="1-02-16-file-streams.html">
|
|
|
|
<a href="1-02-16-file-streams.html">
|
|
|
|
|
|
File Streams
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.17" data-path="1-02-17-binary-streams.html">
|
|
|
|
<a href="1-02-17-binary-streams.html">
|
|
|
|
|
|
Binary Streams
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.18" data-path="1-02-18-prompting-users.html">
|
|
|
|
<a href="1-02-18-prompting-users.html">
|
|
|
|
|
|
Prompting Users
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.19" data-path="1-02-19-pretty-printing.html">
|
|
|
|
<a href="1-02-19-pretty-printing.html">
|
|
|
|
|
|
Pretty-Printing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.3" data-path="1-03-0-getting-input-from-users.html">
|
|
|
|
<a href="1-03-0-getting-input-from-users.html">
|
|
|
|
|
|
Extra Credit: Getting Input from Users
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.4" data-path="1-04-0-lists.html">
|
|
|
|
<a href="1-04-0-lists.html">
|
|
|
|
|
|
Lists and List-Operations
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.5" data-path="1-05-0-lookups-trees.html">
|
|
|
|
<a href="1-05-0-lookups-trees.html">
|
|
|
|
|
|
Extra Credit: Look-up Lists and Trees
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6" data-path="1-06-0-math.html">
|
|
|
|
<a href="1-06-0-math.html">
|
|
|
|
|
|
Numbers and Math
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.1.6.1" data-path="1-06-01-integers.html">
|
|
|
|
<a href="1-06-01-integers.html">
|
|
|
|
|
|
Integers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.2" data-path="1-06-02-more-integers.html">
|
|
|
|
<a href="1-06-02-more-integers.html">
|
|
|
|
|
|
More Integers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.3" data-path="1-06-03-hexadecimal-notation.html">
|
|
|
|
<a href="1-06-03-hexadecimal-notation.html">
|
|
|
|
|
|
Hexadecimal Integer Notation
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.4" data-path="1-06-04-octal-notation.html">
|
|
|
|
<a href="1-06-04-octal-notation.html">
|
|
|
|
|
|
Octal Integer Notation
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.5" data-path="1-06-05-binary-notation.html">
|
|
|
|
<a href="1-06-05-binary-notation.html">
|
|
|
|
|
|
Binary Integer Notation
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.6" data-path="1-06-06-ratios.html">
|
|
|
|
<a href="1-06-06-ratios.html">
|
|
|
|
|
|
Ratios and Rational Numbers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.7" data-path="1-06-07-floating-point.html">
|
|
|
|
<a href="1-06-07-floating-point.html">
|
|
|
|
|
|
Floating-point Numbers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.8" data-path="1-06-08-constants.html">
|
|
|
|
<a href="1-06-08-constants.html">
|
|
|
|
|
|
Numeric Constants
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.9" data-path="1-06-09-complex-numbers.html">
|
|
|
|
<a href="1-06-09-complex-numbers.html">
|
|
|
|
|
|
Complex Numbers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.10" data-path="1-06-10-arithmetic.html">
|
|
|
|
<a href="1-06-10-arithmetic.html">
|
|
|
|
|
|
Arithmetic
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.11" data-path="1-06-11-more-arithmetic.html">
|
|
|
|
<a href="1-06-11-more-arithmetic.html">
|
|
|
|
|
|
More Arithmetic
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.12" data-path="1-06-12-even-more-arithmetic.html">
|
|
|
|
<a href="1-06-12-even-more-arithmetic.html">
|
|
|
|
|
|
Even More Arithmetic
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.13" data-path="1-06-13-exponents.html">
|
|
|
|
<a href="1-06-13-exponents.html">
|
|
|
|
|
|
Exponents
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.14" data-path="1-06-14-logarithms.html">
|
|
|
|
<a href="1-06-14-logarithms.html">
|
|
|
|
|
|
Logarithms
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.15" data-path="1-06-15-trigonometry.html">
|
|
|
|
<a href="1-06-15-trigonometry.html">
|
|
|
|
|
|
Trigonometry
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.16" data-path="1-06-16-psuedorandom-numbers.html">
|
|
|
|
<a href="1-06-16-psuedorandom-numbers.html">
|
|
|
|
|
|
Pseudo-Random Numbers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.7" data-path="1-07-0-arrays.html">
|
|
|
|
<a href="1-07-0-arrays.html">
|
|
|
|
|
|
Extra Credit: Arrays and Vectors
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.8" data-path="1-08-0-variables.html">
|
|
|
|
<a href="1-08-0-variables.html">
|
|
|
|
|
|
Variables, Parameters, and Constants
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.9" data-path="1-09-0-closures.html">
|
|
|
|
<a href="1-09-0-closures.html">
|
|
|
|
|
|
Extra Credit: Closures
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.10" data-path="1-10-0-functions.html">
|
|
|
|
<a href="1-10-0-functions.html">
|
|
|
|
|
|
Functions and Macros
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.11" data-path="1-11-0-text-adventure.html">
|
|
|
|
<a href="1-11-0-text-adventure.html">
|
|
|
|
|
|
Extra Credit: A Simple Text Adventure
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.12" data-path="1-12-0-namespaces.html">
|
|
|
|
<a href="1-12-0-namespaces.html">
|
|
|
|
|
|
Namespaces, Symbols, Packages, and Systems
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.13" data-path="1-13-0-simple-web-app.html">
|
|
|
|
<a href="1-13-0-simple-web-app.html">
|
|
|
|
|
|
Extra Credit: A Simple Web Application
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.14" data-path="1-14-0-conditionals.html">
|
|
|
|
<a href="1-14-0-conditionals.html">
|
|
|
|
|
|
Conditionals
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.15" data-path="1-15-0-command-line-utility.html">
|
|
|
|
<a href="1-15-0-command-line-utility.html">
|
|
|
|
|
|
Extra Credit: Command-Line Utilities
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.16" data-path="1-16-0-map-loop.html">
|
|
|
|
<a href="1-16-0-map-loop.html">
|
|
|
|
|
|
Mapping and Looping
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.17" data-path="1-17-0-iterate.html">
|
|
|
|
<a href="1-17-0-iterate.html">
|
|
|
|
|
|
Extra Credit: Revisiting Loops with Iterate
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.18" data-path="1-18-0-format.html">
|
|
|
|
<a href="1-18-0-format.html">
|
|
|
|
|
|
Format Strings
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.19" data-path="1-19-0-dsl.html">
|
|
|
|
<a href="1-19-0-dsl.html">
|
|
|
|
|
|
Extra Credit: Domain Specific Languages
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.20" data-path="1-20-0-review.html">
|
|
|
|
<a href="1-20-0-review.html">
|
|
|
|
|
|
Part One in Review
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">PART TWO</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="4.1" data-path="2-0-0-overview.html">
|
|
|
|
<a href="2-0-0-overview.html">
|
|
|
|
|
|
The Suffusion of Blue
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.1.1" data-path="2-01-0-programming-paradigms.html">
|
|
|
|
<a href="2-01-0-programming-paradigms.html">
|
|
|
|
|
|
Programming Paradigms
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.2" data-path="2-02-0-regex.html">
|
|
|
|
<a href="2-02-0-regex.html">
|
|
|
|
|
|
Extra Credit: Regular Expressions
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.3" data-path="2-03-0-objects-control.html">
|
|
|
|
<a href="2-03-0-objects-control.html">
|
|
|
|
|
|
Objects and Control Structures
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.4" data-path="2-04-0-data-persistence.html">
|
|
|
|
<a href="2-04-0-data-persistence.html">
|
|
|
|
|
|
Extra Credit: Persistence and Databases
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.5" data-path="2-05-0-extended-types.html">
|
|
|
|
<a href="2-05-0-extended-types.html">
|
|
|
|
|
|
Extended Types
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.6" data-path="2-06-0-threads-memos-parallel.html">
|
|
|
|
<a href="2-06-0-threads-memos-parallel.html">
|
|
|
|
|
|
Extra Credit: Concurrency and Memoization
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.7" data-path="2-07-0-logic-and-more-math.html">
|
|
|
|
<a href="2-07-0-logic-and-more-math.html">
|
|
|
|
|
|
Logic and Advanced Math
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.8" data-path="2-08-0-number-theory.html">
|
|
|
|
<a href="2-08-0-number-theory.html">
|
|
|
|
|
|
Extra Credit: Number Theory
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.9" data-path="2-09-0-binary-octets-bits.html">
|
|
|
|
<a href="2-09-0-binary-octets-bits.html">
|
|
|
|
|
|
Binary Streams, Octet-Vectors, and Bit-Vectors
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.10" data-path="2-10-0-improved-text-adventure-engine.html">
|
|
|
|
<a href="2-10-0-improved-text-adventure-engine.html">
|
|
|
|
|
|
Extra Credit: An Improved Text Adventure Engine
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.11" data-path="2-11-0-conditions.html">
|
|
|
|
<a href="2-11-0-conditions.html">
|
|
|
|
|
|
Conditions and Error Handling
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.12" data-path="2-12-0-2d-game.html">
|
|
|
|
<a href="2-12-0-2d-game.html">
|
|
|
|
|
|
Extra Credit: Write a 2D Game
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.13" data-path="2-13-0-compiler.html">
|
|
|
|
<a href="2-13-0-compiler.html">
|
|
|
|
|
|
The Compiler
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.14" data-path="2-14-0-tree-shaker.html">
|
|
|
|
<a href="2-14-0-tree-shaker.html">
|
|
|
|
|
|
Extra Credit: Write a Tree-Shaker
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.15" data-path="2-15-0-docs-and-inspection.html">
|
|
|
|
<a href="2-15-0-docs-and-inspection.html">
|
|
|
|
|
|
Documentation and Inspection
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.16" data-path="2-16-0-foreign-libs.html">
|
|
|
|
<a href="2-16-0-foreign-libs.html">
|
|
|
|
|
|
Extra Credit: Foreign Libraries in Lisp
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.17" data-path="2-17-0-debugging-testing.html">
|
|
|
|
<a href="2-17-0-debugging-testing.html">
|
|
|
|
|
|
Debugging and Unit Testing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.18" data-path="2-18-0-ffi.html">
|
|
|
|
<a href="2-18-0-ffi.html">
|
|
|
|
|
|
Extra Credit: Write a Foreign Function Interface
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.19" data-path="2-19-0-essential-libs.html">
|
|
|
|
<a href="2-19-0-essential-libs.html">
|
|
|
|
|
|
Essential Lisp Libraries
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.20" data-path="2-20-0-packaging-libs.html">
|
|
|
|
<a href="2-20-0-packaging-libs.html">
|
|
|
|
|
|
Extra Credit: Packaging Lisp Libraries
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.21" data-path="2-21-0-review.html">
|
|
|
|
<a href="2-21-0-review.html">
|
|
|
|
|
|
Detailed Syntax Review
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">PART THREE</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="5.1" data-path="3-00-00-overview.html">
|
|
|
|
<a href="3-00-00-overview.html">
|
|
|
|
|
|
Lisp So(u)rcery
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="5.1.1" data-path="3-01-00-web-apps.html">
|
|
|
|
<a href="3-01-00-web-apps.html">
|
|
|
|
|
|
Real-world Web Apps
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.2" data-path="3-02-00-typesetting.html">
|
|
|
|
<a href="3-02-00-typesetting.html">
|
|
|
|
|
|
Typesetting
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.3" data-path="3-03-00-mobile.html">
|
|
|
|
<a href="3-03-00-mobile.html">
|
|
|
|
|
|
Native Mobile Applications
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.4" data-path="3-04-00-gui.html">
|
|
|
|
<a href="3-04-00-gui.html">
|
|
|
|
|
|
Cross-platform Desktop Applications
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.5" data-path="3-05-00-system-utils.html">
|
|
|
|
<a href="3-05-00-system-utils.html">
|
|
|
|
|
|
Drivers, Daemons, and System-Utilities
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.6" data-path="3-06-00-reverse-engineering.html">
|
|
|
|
<a href="3-06-00-reverse-engineering.html">
|
|
|
|
|
|
Reverse Engineering
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.7" data-path="3-07-00-graphics.html">
|
|
|
|
<a href="3-07-00-graphics.html">
|
|
|
|
|
|
Graphics Rendering
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.8" data-path="3-08-00-gaming.html">
|
|
|
|
<a href="3-08-00-gaming.html">
|
|
|
|
|
|
OpenGL, SDL, and 3D Game Development
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.9" data-path="3-09-00-audio.html">
|
|
|
|
<a href="3-09-00-audio.html">
|
|
|
|
|
|
Audio Generation and Manipulation
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.10" data-path="3-10-00-data.html">
|
|
|
|
<a href="3-10-00-data.html">
|
|
|
|
|
|
Data Aggregation and Analysis
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.11" data-path="3-11-00-cryptosec.html">
|
|
|
|
<a href="3-11-00-cryptosec.html">
|
|
|
|
|
|
Cryptography and Security
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.12" data-path="3-12-00-fintech.html">
|
|
|
|
<a href="3-12-00-fintech.html">
|
|
|
|
|
|
Financial Software and Crypto-Currencies
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.13" data-path="3-13-00-scientific-computing.html">
|
|
|
|
<a href="3-13-00-scientific-computing.html">
|
|
|
|
|
|
Scientific Computing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.14" data-path="3-14-00-computational-physics.html">
|
|
|
|
<a href="3-14-00-computational-physics.html">
|
|
|
|
|
|
Computational Physics
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.15" data-path="3-15-00-quantum-computing.html">
|
|
|
|
<a href="3-15-00-quantum-computing.html">
|
|
|
|
|
|
Quantum Computing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.16" data-path="3-16-00-nlp.html">
|
|
|
|
<a href="3-16-00-nlp.html">
|
|
|
|
|
|
Natural Language Processing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.17" data-path="3-17-00-ai.html">
|
|
|
|
<a href="3-17-00-ai.html">
|
|
|
|
|
|
Artificial Intelligence
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.18" data-path="3-18-00-robotics.html">
|
|
|
|
<a href="3-18-00-robotics.html">
|
|
|
|
|
|
Robotics
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.19" data-path="3-19-00-space-tech.html">
|
|
|
|
<a href="3-19-00-space-tech.html">
|
|
|
|
|
|
Space Tech
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.20" data-path="3-20-00-neurotech.html">
|
|
|
|
<a href="3-20-00-neurotech.html">
|
|
|
|
|
|
Neuroscience and Thought-Controlled Computing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.21" data-path="3-21-00-lispos.html">
|
|
|
|
<a href="3-21-00-lispos.html">
|
|
|
|
|
|
A Simple LispOS
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.22" data-path="3-22-00-lisp-machine.html">
|
|
|
|
<a href="3-22-00-lisp-machine.html">
|
|
|
|
|
|
Build Your Own Lisp Machine
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.23" data-path="3-23-00-gov-mil.html">
|
|
|
|
<a href="3-23-00-gov-mil.html">
|
|
|
|
|
|
Government and Military Grade Systems
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="divider"></li>
|
|
|
|
<li>
|
|
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
|
|
Published with GitBook
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
</nav>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="book-body">
|
|
|
|
<div class="body-inner">
|
|
|
|
|
|
|
|
<div class="book-header" role="navigation">
|
|
|
|
|
|
<!-- Title -->
|
|
<h1>
|
|
<i class="fa fa-circle-o-notch fa-spin"></i>
|
|
<a href="index.html" >Printing</a>
|
|
</h1>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="page-wrapper" tabindex="-1" role="main">
|
|
<div class="page-inner">
|
|
|
|
<div id="book-search-results">
|
|
<div class="search-noresults">
|
|
|
|
<section class="normal markdown-section">
|
|
|
|
<h1 id="exercise-128">Exercise 1.2.8</h1>
|
|
<h2 id="printing">Printing</h2>
|
|
<p>There are a lot of ways for a programmer to handle printing with Lisp, and all of them are built on top of the <code>write</code> function. You will rarely need to use <code>write</code> directly, but it is useful to know about in order to understand all the different ways you can print objects in Lisp, and where to print them to.</p>
|
|
<p>Since the <code>write</code> function is extremely powerful and general, it takes a <em>lot</em> of parameters. Most of them are <em>keyword parameters</em>, however, so you can call the function without knowing or using all of them, and trust that the standard has implemented sensible defaults for your use-case.</p>
|
|
<p>The simplest use of <code>write</code> is to call it with only one argument, what you want printed, according to the system defaults for printing that type of object:</p>
|
|
<pre><code class="lang-lisp">(<span class="hljs-name">write</span> <span class="hljs-string">"hello"</span>)
|
|
(<span class="hljs-name">write</span> <span class="hljs-number">10</span>)
|
|
(<span class="hljs-name">write</span> 'hello)
|
|
</code></pre>
|
|
<p>But lets say you want to know how an integer is printed in hexadecimal, octets, or binary. You can set the <code>:base</code> and <code>:radix</code> parameters to change the default behavior:</p>
|
|
<pre><code class="lang-lisp">(<span class="hljs-name">write</span> <span class="hljs-number">10000</span> <span class="hljs-symbol">:base</span> <span class="hljs-number">16</span> <span class="hljs-symbol">:radix</span> <span class="hljs-literal">t</span>)
|
|
(<span class="hljs-name">write</span> <span class="hljs-number">10000</span> <span class="hljs-symbol">:base</span> <span class="hljs-number">8</span> <span class="hljs-symbol">:radix</span> <span class="hljs-literal">t</span>)
|
|
(<span class="hljs-name">write</span> <span class="hljs-number">10000</span> <span class="hljs-symbol">:base</span> <span class="hljs-number">2</span> <span class="hljs-symbol">:radix</span> <span class="hljs-literal">t</span>)
|
|
</code></pre>
|
|
<div class="alert alert-info">
|
|
The `:radix` keyword parameter is a generalized boolean. This means that any "non-NIL" value you pass to it will be read the same as "True", even if you don't supply `t` itself. The only time it will be treated as "False" is when you specifically pass it `NIL`.
|
|
</div>
|
|
|
|
<h3 id="what-you-should-see">What You Should See</h3>
|
|
<pre><code class="lang-lisp">* (<span class="hljs-name">write</span> <span class="hljs-string">"hello"</span>)
|
|
<span class="hljs-string">"hello"</span>
|
|
<span class="hljs-string">"hello"</span>
|
|
* (<span class="hljs-name">write</span> <span class="hljs-number">10</span>)
|
|
<span class="hljs-number">10</span>
|
|
<span class="hljs-number">10</span>
|
|
* (<span class="hljs-name">write</span> 'hello)
|
|
HELLO
|
|
HELLO
|
|
* (<span class="hljs-name">write</span> <span class="hljs-number">10000</span> <span class="hljs-symbol">:base</span> <span class="hljs-number">16</span> <span class="hljs-symbol">:radix</span> <span class="hljs-literal">t</span>)
|
|
<span class="hljs-number">#x2710</span>
|
|
<span class="hljs-number">10000</span>
|
|
* (<span class="hljs-name">write</span> <span class="hljs-number">10000</span> <span class="hljs-symbol">:base</span> <span class="hljs-number">8</span> <span class="hljs-symbol">:radix</span> <span class="hljs-literal">t</span>)
|
|
<span class="hljs-number">#o23420</span>
|
|
<span class="hljs-number">10000</span>
|
|
* (<span class="hljs-name">write</span> <span class="hljs-number">10000</span> <span class="hljs-symbol">:base</span> <span class="hljs-number">2</span> <span class="hljs-symbol">:radix</span> <span class="hljs-literal">t</span>)
|
|
<span class="hljs-number">#b10011100010000</span>
|
|
<span class="hljs-number">10000</span>
|
|
</code></pre>
|
|
<p>Do you understand everything that's happening here? Take a moment to review what you've typed, and what you've gotten back at the REPL.</p>
|
|
<p>With the first three examples, you probably noticed that you're getting back the same value twice. This is because the default <code>:stream</code> is <code>*standard-output*</code>, which is the same place function return values are being sent while you're working in the REPL. You're also printing the objects with all their default settings, as Lisp would normally print them for you. You won't normally see this exact behavior outside the REPL though---in upcoming exercises, you'll learn more about streams and what you can do with them, and what happens to values when they're not sent to a stream or bound to a variable.</p>
|
|
<p>But notice how changing the defaults in the last three examples changed the way <code>write</code> <em>printed</em> the arguments, but didn't change the actual return value in any way (<em>i.e.,</em> the integer 10,000)? This is how <code>write</code> works. First it prints the <em>object</em> parameter you pass it, according to any changes you've made to the instructions for the Lisp Printer using <code>write</code>'s keyword parameters, and then when it's done it <em>returns</em> the original object as well.</p>
|
|
|
|
|
|
</section>
|
|
|
|
</div>
|
|
<div class="search-results">
|
|
<div class="has-results">
|
|
|
|
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
|
|
<ul class="search-results-list"></ul>
|
|
|
|
</div>
|
|
<div class="no-results">
|
|
|
|
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<a href="1-02-07-strings-from-chars.html" class="navigation navigation-prev " aria-label="Previous page: Strings from Chars">
|
|
<i class="fa fa-angle-left"></i>
|
|
</a>
|
|
|
|
|
|
<a href="1-02-09-more-printing.html" class="navigation navigation-next " aria-label="Next page: More Printing">
|
|
<i class="fa fa-angle-right"></i>
|
|
</a>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<script>
|
|
var gitbook = gitbook || [];
|
|
gitbook.push(function() {
|
|
gitbook.page.hasChanged({"page":{"title":"Printing","level":"3.1.2.8","depth":3,"next":{"title":"More Printing","level":"3.1.2.9","depth":3,"path":"1-02-09-more-printing.md","ref":"./1-02-09-more-printing.md","articles":[]},"previous":{"title":"Strings from Chars","level":"3.1.2.7","depth":3,"path":"1-02-07-strings-from-chars.md","ref":"./1-02-07-strings-from-chars.md","articles":[]},"dir":"ltr"},"config":{"plugins":["hints","folding-chapters"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"hints":{"danger":"fa fa-exclamation-circle","info":"fa fa-info-circle","tip":"fa fa-mortar-board","working":"fa fa-wrench"},"folding-chapters":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","author":"\"the Phoeron\" Colin J.E. Lupton","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"index.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"Learn Lisp The Hard Way","gitbook":"*"},"file":{"path":"1-02-08-printing.md","mtime":"2022-08-22T22:23:37.782Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2022-08-24T16:15:01.957Z"},"basePath":".","book":{"language":""}});
|
|
});
|
|
</script>
|
|
</div>
|
|
|
|
|
|
<script src="gitbook/gitbook.js"></script>
|
|
<script src="gitbook/theme.js"></script>
|
|
|
|
|
|
<script src="gitbook/gitbook-plugin-folding-chapters/folding-chapters.js"></script>
|
|
|
|
|
|
|
|
<script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
|
|
|
|
|
|
|
|
<script src="gitbook/gitbook-plugin-search/search.js"></script>
|
|
|
|
|
|
|
|
<script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
|
|
|
|
|
|
|
|
<script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
|
|
|
|
|
|
|
|
<script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
|
|
|
|
|
|
|
|
<script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|
|
|