SlideShare a Scribd company logo
Scala Programming A comprehensive beginner s
guide to Scala 2nd Edition Claudia Alves
download
https://textbookfull.com/product/scala-programming-a-
comprehensive-beginner-s-guide-to-scala-2nd-edition-claudia-
alves/
Download more ebook from https://textbookfull.com
Scala Programming A comprehensive beginner s guide to Scala 2nd Edition Claudia Alves
Table of Contents
Preface
1. Introduction
1.1 What managers should know about
Scala
1.2 Java Scala integration
1.3 About this book
1.4 Typographical and other conventions
2 Setting up the work environment
2.1 The Scala shell and the command
line
2.1.1 The Scala interpreter
2.1.2 The Scala (de) compilers
2.1.3 The documentation generator
2.2 Build tools
2.2.1 The Maven Scala plugin
2.2.2 Simple Build Tool
2.3 IDE support
2.3.1 Eclipse
2.3.2 NetBeans
2.3.3 IntelliJ IDEA
3 basics
3.1 A little bit of syntax
3.2 Imperative programming
3.3 An executable program
3.4 Annotations
4 Pure object orientation
4.1 Classes and Objects
4.1.1 Fields and methods
4.1.2 What else classes can contain
4.1.3 Constructors
4.1.4 Enumerations
4.1.5 Inheritance and subtyping
4.1.6 Abstract classes
4.2 Code organization
4.2.1 Packages
4.2.2 Package Objects
4.2.3 Imports
4.3 traits
4.3.1 RichInterfaces
4.3.2 Stackable modifications
4.4 Implicits and Rich wrappers
5 Functional programming
5.1 LazyEvaluation
5.2 Functions and recursions
5.3 Higher order functions
5.4 Case classes and pattern matching
5.4.1 Case classes
5.4.2 Sealed classes
5.4.3 Partial functions
5.4.4 Variable names for (partial)
patterns
5.4.5 ExceptionHandling
5.4.6 Extractors
5.4.7 Pattern matching with regular
expressions
5.5 Currying's own control structures
5.6 For expressions
5.7 Type system
5.7.1 Standard types
5.7.2 Parametric Polymorphism and
Variance
5.7.3 Upper and Lower Bounds
5.7.4 Views and ViewBounds
5.7.5 ContextBounds
5.7.6 Arrays and @ specialized
5.7.7 GeneralizedTypeConstraints
5.7.8 Self-type annotation
5.7.9 Structural and existential types
6 The Scala Standard Library
6.1 Overview and the Predef Object
6.2 The Collection Framework
6.3 Scala and XML
6.4 Combining parsers
6.5 A little bit of GUI
7 Actors - Concurrency and
Multicore Programming
7.1 One thread is one Actor
7.2 Receive and react
7.3 Demons and Reactors
7.4 Scheduler
7.5 RemoteActors
8 Software Quality - Documenting
and Testing
8.1 Scaladoc
8.2 ScalaCheck.
8.2.1 Basics.
8.2.2 Generators.
8.2.3 Automated testing with SBT
8.3 ScalaTest
8.3.1 ScalaTestundJUnit
8.3.2 ScalaTestundTestNG
8.3.3 ScalaTestundBDD
8.3.4 Functional, integration and
acceptance tests
8.3.5 DieFunSuite
8.4 Specs
8.4.1 A Specs specification
8.4.2 Matchers
8.4.3 MockswithMockito
8.4.4 LiterateSpecifications
9 Web programming with the lift
9.1 Quick start with lift
9.2 Bootstrapping
9.3 Rendering templates and snippets
9.4 User management and SiteMap
9.5 Persistence
9.6 Implementation of the snippets
10 Lightweight web programming
with Scalatra
10.1 Quick start with Scalatra
10.2 The Final Grade Calculator
11 Akka – Actors and
SoftwareTransactionalMemory
11.1 Quick start with battery
11.2 The MovieStore
11.3 User and Session Management
Preface
Scala: A programming language that uniquely supports object-
oriented Programming merges with the functional 1 that is preparing
to move Java from To throne and to program with that is really fun.
In the summer semester of 2010, in addition to Haskell, I also
taught Scala for the reading “Advanced Functional Programming”
and many I have had good experiences. I saw how my students
medium functional concepts with Scala could be transferred very
well to the JVM. ten. From the 2010/11 winter semester, I started
using Scala instead of Java for the Use programming training of the
freshman students. In Scala there arele things have been
implemented in a simpler and cleaner way. For example, the Printout
println ("Hello World") all by itself in a file as a script or type directly
into the interactive Scala interpreter. In Scala you can Let's stay so
close to Java at first that a later switch is hardly possible Likely to
cause problems 2 . That I also distributed Scala for programming
Discussing systems goes without saying thanks to the actors and
akka. With this book I would like to bring you closer to everything
Scala has to offer, in which, in addition to the programming language
itself, I also give you the essentials I will introduce tools and
frameworks. My warmest thanks go to everyone who made this book
possible and to me in this one Supported the project: Above all my
family. Important discussions and Patrick Baumgartner, Jürgen
Dubau, Christoph Schmidt, Heiko Seeberger and Bernd Weber
contributed. Thanks a lot for this. For the good I thank Margarete on
behalf of the cooperation with the Hanser Verlag
Metzger and Irene Weilhart.
Chapter 1
introduction
Another new programming language, although: Scala is no longer
like that New. The development began in 2001 at the École
polytechnique fédérale de La- sanne (EPFL) in Switzerland by a team
led by Professor Martin Odersky. The
first release was published in 2003. Version 2.0 followed in 2006 In
2010, while this book is being written, version 2.8 will be released.
which, according to Odersky, should actually be 3.0 1 . Professor
Odersky is no stranger to the Java world. 1995 he started with Phi-
lip Wadler 2 with the development of the functional programming
language Pizza 3 , which can be translated into bytecode for the Java
Virtual Machine (JVM). These Work led to GJ 4 and finally to the new
javac compiler and the one with Java 5 introduced Java Generics 5 .
When Odersky came to EPFL in 1999, he shifted his focus a little. He
had still the goal of object-oriented and functional programming
tooconnect, but no longer wanted to be burdened with the
restrictions of Java. After developing the programming language
Funnel 6 , he took on additional goals the practicality and
interoperability with standard platforms and designed Scala 7 .
Scala is a hybrid language that uniquely combines features of
objective connects entertaining and functional programming
languages. Scala design goal is a concise, elegant and type-safe
programming. Scala isn't just inBytecode compiled for the JVM, any
Java code can also be extracted directly Use the Scala and vice
versa.
Scala is a purely object-oriented programming language. That
means, in Scala everythe value of an object. Scala uses a concept of
classes and traits. With traits Rich interfaces can be implemented,
because traits can already be implemented
mentions included. Classes are extended through inheritance, traits
are mixed into a class or an object. So as not to get into typical
problems running with multiple inheritance, traits are linearized.
Whether Scala may call itself a functional programming language
has been shortened on the web. lich first discussed in detail.
Odersky finally refers to Scala in [Ode10a]as post-functional
language. What is certain is that Scala has a number
has features that are either attributable to functional programming
or come from their environment.
In Scala, each function is a value of 8 and can be equated with other
values. th are treated. This means, for example, that a function can
ment or result of another function 9 , functions can be in lists and
functions can be nested within one another.
In addition, Scala also supports features such as Pattern Matching 10
and Cur- rysing 11 .
In contrast to many modern and trendy programming languages,
Sca- la statically typed. That is, the type of all expressions becomes
compile-time checked and not at runtime, as is the case with
dynamically typed languages
the case is. After a large number of programming errors type errors,
we believe that static typing is generally preferable.
to draw. The main disadvantage, namely the need to have types
everywheremust be specified is countered in Scala with a type
inference mechanism.net. This means that it is not necessary to
specify types in most places. At the
When translating, the type is then inferred and it is checked whether
everything fits together. Scala has a very sophisticated type system
that, in addition to generic classes and polymorphic methods also
include variance annotations, upper and lower bounds and much
more.
Another feature of Scala, which by the way stands for Scalable
Language, is the easy expandability. Scala is therefore predestined
for the creation of do- main Specific Languages ​
​
(DSLs). Last but not
least, Scala can also work with support for the .NET platform. But
that's still the case not a stand that can be described as “production
ready”.
Scala on the JVM has long since grown up and can in all situations,
can also be used in a business-critical manner. The further
development of Scala is very active, from bug fix releases to new
features will be announced in the next
Expect some more time. For the coming years, the focus of the
Scala- Teams on the even better support of multicore architectures.
1.1 What managers should know
about Scala
Scala is a mature, very well thought-out programming language.
With Scala you can You can do everything that can be done with
Java without restriction.
After Scala is compiled in bytecode for the JVM, i.e. in Java
bytecode, you can of course also use the Scala code created once
from Java. Zen. In summary, this means: Scala can be tried out
safely. Even if you should switch back to Java, working in Scala is
otherwise. And the entire range of tools used for Java development
such as Eclipse, NetBeans or Maven, is used to develop Scala- Code
just continued to use.
But why should you switch to Scala at all? Scala increases
productivity vity! Scala offers a variety of features that allow you to
use shorter and elegant write other code. Certainly the sheer
number of lines of code is not very meaningful, but with less code
there is at least statistical also seen fewer errors. Scala is typed
more strictly than Java. Also because of that
fewer errors slip through. And a major advantage when starting with
Sca- la is that it feels almost like java and added features gradually
can be braided.
Why then Scala and not one of the countless other languages? I
would like to Let us give only a few quotations:
"If I were to pick a language to use today other than Java, it would
be Scala."
James Gosling, creator of Java "Scala, it must be stated, is the
current heir apparent to the Java throne. No other
language on the JVM seems as capable of being a “replacement for
Java” as Sca-
la, and the momentum behind Scala is now unquestionable. While
Scala is not a
dynamic language, it has many of the characteristics of popular
dynamic language-
ges, through its rich and flexible type system, its sparse and clean
syntax, and its
marriage of functional and object paradigms. "
Charles Nutter, creator of JRuby
"Though my tip though for the long term replacement of javac is
Scala. I'm very
impressed with it! I can honestly say if someone had shown me the
programming
in Scala book by Martin Odersky, Lex Spoon & Bill Venners back in
2003 I'd
probably have never created Groovy. "
James Strachan, creator of Groovy
Who still uses Scala? Scala is now in a number of companies such as
Sony,
Siemens and Xerox arrived. Let us consider two examples of success
layers:
1. Électricité de France Trading (EDFT) is a subsidiary of France
largest energy company EDF, which deals with the energy market. In
the last n years ago, EDFT held a substantial portion of the 300,000
lines of Java code for “Trading and Pricing” successfully replaced by
Scala. EDFT speaks of a A significant increase in productivity and
much improved Interfaces for your dealers. Team leader Alex
McGuire has meanwhile le EDFT and founded his own company,
Scala-Consulting for Financial service providers and trading
companies offers.
2. Twitter 12 offers a very popular real-time messaging service, the
world- well over 70 million users use it. The Twitter infrastructure
processes ture, which now largely consists of Scala code in the
backend, over 50 Millions of short messages, so-called tweets. And
what about commercial support? There is already a wide variety of
them Shape. There is a very active Scala community and first, also
German, companies,
who provide Scala Consulting. An essential step was the
establishment of the companyma ScalaSolutions by Martin Odersky
himself. The company offers Scala support,
-Consulting and training. And last but not least, interested and good
Java programmers turned into good Scala developers within a very
short time
be trained.
1.2 Java Scala integration
Even if you have not yet got to know Scala, we want to take it here
for further motivation, already read something about the seamless
integration with Java
gen. From Scala you can use Java classes and libraries in the same
way
how you would do that directly in Java 13 .
The reverse is almost as easy. Only in a few small places
sen to know a bit more about the internals. Scala is what language
features
as far as more powerful than Java. However, all features are
represented by Java bytecode.
sent. So we can get anywhere from Java, the only question is how.
In Scala, in contrast to Java, everything is an object. For better
performance
the objects that are represented in Java as primitive types, if
possible
Lich converted into a primitive value, e.g. the Scala Int into the Java
int.
If this is not possible, e.g. because primitive data types are not used
as type parameters in Java
meter are allowed for generic classes, the value is in the appropriate
Wrapper instance converted. For example, the Scala Int is in a list
translated into an instance of the java.lang.Integer class.
Scala's pure object orientation does not allow static class members.
Instead of-
Scala has singleton objects. From a singleton object named
MyObject a class with the name MyObject $ is created that contains
the object
can be used via the static field MODULE $.
If there is no associated class for the singleton object, it is is a so-
called standalone object, there is also a class se named MyObject
creates the static members for all members of the Scala object. This
then points to member x of the Scala object
MyObject is accessed in Scala as well as in Java with MyObject.x. It's
a bit more complicated with Scalas Traits as Java doesn't have one
Knows construct. A trait always becomes a Java interface and thus a
Type generated. All methods of the Scala objects be used. However,
implementing a trait in Java is not practical. tikabel, unless the trait
contains only abstract members. Java's annotations and exceptions
are supported by Scala. Special Scala
Annotations such as @volatile, @transient and @serializable are
transformed into the corresponding Java constructs. Scala does not
know ne Checked Exceptions, but offers an @throws annotation for
the Java
Interoperability.
1.3 About this book
With this book we want to introduce you to the fascinating world of
Sca- la kidnap. To make your entry as pleasant as possible and so
that you can try out what we have described in practice right away,
begin-
in Chapter 2 with information about the Scala tools and the tools to
support the development process.
Then we deal with the programming language Sca in three chapters.
la. In chapter 3 we feel our way to the syntax and discuss the
imperative ven programming concepts. We'll also show you how
executable in Scala
Scripts are developed and create a first compilable program. Even if
the features of Scala are not strictly object-oriented
and functional programming languages, we have one Division into
two chapters 4 and 5. There is everything
which is more to be assigned to the area of ​
​
object orientation, in
Chapter 4, and the
Features that originally come from functional programming or are
more closely related to it, in Chapter 5.
The popularity and usability of a programming language is of course
not alive only from the language core. In two chapters we turn our
attention to the libraries brought by the Scala distribution. In
Chapter 6 we give first
a rough overview before we look at some areas such as the
collection framework and take a closer look at Scala’s excellent XML
support.
ten. Due to its increasing importance, the actor library is of
secondary importance A separate chapter is dedicated to current and
multicore programming, namely Chapter 7. Good quality software
should be well documented and tested. In the
We present the usual approaches to Scala development in Chapter
8. The last three chapters give you an introduction to three Scala
frameworks. In In each of the three chapters, we develop a small
sample application. The
Talk Allocator created in Chapter 9 is a web application that runs on
Lift 14 , a a very extensive web framework. The final grade calculator
from Chapter 10 uses the very lightweight web framework Scalatra
15 . And Finally, with the MovieStore in Chapter 11, we dive into the
fascinating World of Actors and Software Transactional Memory with
Akka 16 . About the previous In addition to the frameworks provided,
there are a lot of other very interesting questions
meworks such as ScalaModules, already described in [WBB10] has
been. On the website for the book http://scala.obraun.net/ you will
find links to Source code for some chapters. You can find more
information about Scala on the Scala website http://www.scala-
lang.org/, on many mailing lists in blogs etc. A number of English-
language Scala books are also available, [OSV08] should be
mentioned here as an example.
1.4 Typographical and other
conventions
The shell commands are preceded by a $ sign, which when typing
may not be entered. Lines without the dollar sign are outputs for
example:
$ scala -version
Scala code runner version 2.8.0.final - Copyright
2002-2010, LAMP / EPFL
Commands in the interactive Scala environment is as prompt scala >
pre-
employed. If the entry extends over several lines, the following
the lines with five spaces followed by a | symbol. Other lines are
Output from the Scala interpreter, for example:
scale> for (i <- 1 to 3)
|
println (i)
1
2
3
For the sake of better readability, this book does not include any
indicate the feminine and masculine form of the position, such as
"the reader
the reader ”or“ the reader ”. With the usual form then used, e.g.
Of course, we would like readers to be “the reader” alike
speak to.
And now we hope you enjoy reading and trying it out.
Scala Programming A comprehensive beginner s guide to Scala 2nd Edition Claudia Alves
Chapter 2
Setting up the working
environment
If you want to learn a foreign language, most of them will Other
people recommend that you speak as much as possible in it. It is
analogous with learning a new programming language. The most
important thing is a lot in it to program. So that you can do it well
and not get through it too much Selection and setup of the working
environment from a quick start in the Scala
World, we would like to introduce you to the Scala tools and in this
chapter present the support for the common development
environments. In from- Section 2.1 we briefly explain the various
command line programs of the
Scala distribution. We show the usual Scala build tools Maven and
Sbt To you in section 2.2. Finally we take a look at the available bare
IDE support in section 2.3.
2.1 The Scala shell and the
command line
For the first steps in Scala, it is sufficient to install or unpack the
Scala-Distribution. You can find this either at http://www.scala-
lang.org/ or, if you work under Linux / * BSD / MacOS X / ..., with a
high probability
included in your package management system. In addition to the
standard library, the following are essentially installed
Shell scripts or batch files (with the extension .bat): scala - The
Scala "interpreter". With the scala command, Scala applications,
analogous to Java Applications or Scala scripts started in the Java
runtime environment will. If no argument is passed when calling, the
so-called Scala shell , an interactive command line interpreter, so a
so-called REPL 1 , which is discussed in more detail below. scalac -
The Scala compiler. The Scala compiler can be used to generate JVM
1.5 compatible. Class files or, if -target: msil is specified, MSIL
assembly code
for the .NET platform 2 . fsc - The "Fast Offline" Compiler. In order
not to initialize the JVM with every compilation process and having
to load agile classes, fsc starts a Compilation daemon that can be
reused for further translations can. This makes compiling the same
classes particularly extreme accelerated. In order to change the
content of the class path used in the To take into account
compilation, the daemon must explicitly use fsc -shutdown to be
terminated. The fsc is also used when a Scala- Script is to be
executed with the scala command 3 .
scalap - The class file decoder. Analogous to javap, the Java class file
disassembler, scalap the class files generated with the Scala
compiler. When using javap provides you with the disassembled Java
code, with scalap the
Scala code. scaladoc - the documentation generator. The Scala
distribution contains its own tool to extract from the source code
files generate the API as HTML files. Although the tags to use for the
documentation essentially the same as those of Javadoc. men, your
own tool is required, as a Scala API also includes objects and traits
may contain. In addition, scaladoc has been revised with Scala 2.8
and better adapted to Scala. sbaz - The Scala Bazar System (SBaz)
The Scala Bazar system is intended as a package management
system for a Maintain Scala installation. sbaz offers commands to
install packages- ren, remove and upgrade to a newer version.
Furthermore self-developed packages can be packed and distributed
with the help of sbaz the. With the sbaz-setup, which is also
included in the Scala distribution, a new directory can easily be
initialized with Sbaz. The commands that access the JDK or JRE,
scala, scalac and
fsc, consider the environment variables, if they are set: JAVACMD,
the Java command to execute the Scala code, JAVA_HOME, the
directory where the JDK / JRE programs are installed, And
JAVA_OPTS, options that are passed to the JAVACMD. In the
following we will describe the various command line programs
look a little closer. It is not necessary that you use the listed
Source code, in particular the source code generated by tools such
as scalap
understand this point exactly. Rather, the goal is to gain insight
what is possible with the commands.
2.1.1 The Scala interpreter
Although Scala source code is generally in bytecode for the JVM or
for the
.NET platform is translated, the distribution also brings an interactive
ven interpreter with. This is started with the command scala without
any
more arguments.
Listing 2.1: Starting the interactive Scala interpreter
$ scala
Welcome to Scala version 2.8.0.final (Java HotSpot (TM)
64-bit server VM, Java 1.6.0_20).
Type in expressions to have them evaluated.
Type: help for more information.
scala>
After starting, expressions can be entered in the Scala shell. These
are evaluated immediately after pressing the return key and the
The result is output.
Listing 2.2: Simple calculations in the Scala shell
scale> 1 + 2
res0: Int = 3
scala> println ("Hello World!")
Hello World!
scala> println ("The result is" + (1 + 2))
The result is 3
scala> println ("The result is" + res0)
The result is 3
Listing 2.2 shows a few simple examples that you can calculate in
the Scala shell can leave. First the integers 1 and 2 are added and
the sum issued. The result is automatically assigned to the variable
res0 and can thus be referenced again later. In addition, the inferior
te type issued. The next result of a calculation is then the riables
res1 assigned etc. The following three inputs do not calculate result
but only have one side effect, which is something on the command
line
issues.
You can of course introduce your own variables, and it is possible to
enter Scala code over several lines (see Listing 2.3). Additional 5
spaces, followed by a | symbol, automatic table preceded by the
Scala shell. To allow an additional line,
the shell must recognize that the entry is not yet a correct one
Expression acts.
Listing 2.3: Own Variables and Multi-Line Code
scala> val sum = 1 until 100 reduceLeft {(x, y) => x + y}
sum: Int = 4950
scale> for (i <- 1 to 5)
|
if (i% 2 == 0)
|
println (i + "is even and between 1 and 5")
2 is even and between 1 and 5
4 is even and between 1 and 5
We will see later that the Scala shell is not quite equivalent to the
Compile and run is 4 .
With scala -i < filename > a Scala file can be placed in the Scala-
Shell to be loaded. In the shell session itself, you can use the comm
command: load < filename > a file can be loaded and interpreted
with
: jar < filename > a JAR is added to the classpath. Since Scala 2.8.0
the shell masters autocomplete using the tab key. Thieves- The
interpretation of some other commands can be queried with: help.
Interesting to see the power of Scala directly on the command line is
the -e flag, which can be used to specify a scala expression, the is
evaluated immediately, as shown in Listing 2.4, for example.
Listing 2.4: Output of the absolute path on the command line using
Scala
$ scala -e 'val file = new java.io.File (".")
println (file.getAbsolutePath ()) '
/ home / obraun / projects / scalabuch /.
If the scala interpreter receives a Scala script, i.e. a source code file
with Scala Code, passed as an argument, this is compiled with the
fsc and so- continued running. If the command line switch -
nocompdaemon is used, then is compiled with scalac. To avoid
repeated execution of an unchangeable To speed up scripts, -
savecompiled can be specified. Anything entered in the interactive
shell can be in a Scala script may be, i.e. variables, functions, classes
and objects can be defined be ned. The script is processed line by
line and when it is reached the end of the file. A Scala script can also
be made executable yourself will. Under Unix this works with the
shebang, as shown in Listing 2.5.
represents. However, in contrast to other shell scripts, the header
must be used for
the Scala script must be completed with! #.
Listing 2.5: Scala script executable under Unix
#! / bin / sh
exec scala "$ 0" "$ @"
! #
println ("Hello reader!")
On Windows, the executable script looks like the one shown in
Listing 2.6.
Listing 2.6: Scala script executable under Windows
:: #!
@echo off
call scale% 0% *
goto: eof
::! #
println ("Hello reader!")
Last but not least, the command scala < objectname > is used
analogously to java
< classname > is used to create an object previously translated with
the Scala compiler.
project to execute. To do this, the object must contain a main
method.
2.1.2 The Scala (de) compilers
The Scala compiler converts Scala source code files into class files
for the
JVM translated or with -target: msil MSIL assembler code for .NET
generated.
For normal use it is enough to know that the call is made
$ scalac <filename>
or.
$ fsc <filename>
translates the objects and classes contained in < filename > .
Hereinafter
let's go a little deeper for those interested in it.
The compiler goes through different phases such as parse, analyze
and
uncurry. With the command line flag -Xprint: < phases > it is
possible to
to output the file after the specified phase and thus to add
something
to see the scenery. For example, the object defined in Listing 2.7
after parsing as shown in Listing 2.8.
Listing 2.7: Hallo.scala
object Hello extends Application {
println ("Hello reader!")
}
Listing 2.8: Hallo.scala after parsing
[[syntax trees at end of parser]] // Scala source : Hello.
scale
package <empty> {
object Hello extends Application with scala.ScalaObject
{
def <init> () = {
super. <init> ();
()
};
println ("Hello reader!")
}
}
With the -print flag, the program can run without any Scala-specific
features
can be output (see Listing 2.9).
Listing 2.9: scalac -print Hallo.scala
[[syntax trees at end of cleanup]] // Scala source : Hello.
scale
package <empty> {
final class Hello extends java.lang.Object with
Application with ScalaObject {
<stable> <accessor> def executionStart (): Long =
Hello.this.executionStart;
private [this] val executionStart: Long = _;
<accessor> def scala $ Application $ _setter_
$ executionStart _ = (x $ 1: Long): Unit = Hello.this.
executionStart = x $ 1;
def main (args: Array [java.lang.String]): Unit = scala
.Application $ class.main (Hello.this, args);
def this (): object Hello = {
Hello.super.this ();
scala.Application $ class. / * Application $ class * / $ init $
(Hello.this);
scala.this.Predef.println ("Hello readers!");
()
}
}
}
Of course, the necessary paths such as class-path or sourcepath can
be specified. Flags like -verbose, -optimise and
-explaintypes and a variety of advanced options offer further
possibilities- to adapt the translation process to your own needs. The
the respective meaning can be found in the document supplied in
the Scala distribution
can be removed. The Fast Offline Compiler fsc starts a compilation
daemon that works on a Socket accepts further translations. With
the flag -verbose leaves watch yourself what happens the first time
you call it up.
-Reset can be used to empty the caches used by the compile server .
The daemon can be shut down with -shutdown. The translated class
files can be processed with the command contained in the JDK. do
javap be disassembled. For example, from the Scala file Hallo.scala
(see Listing 2.7) the two JVM classes Hello and Hello $
testifies (see Listing 2.10)
Listing 2.10: javap hello and javap hello $
// This is Java
public final class Hello extends java.lang.Object {
public static final void main (java.lang.String []);
public static final void scala $ Application $ _setter_
$ executionStart_ $ eq (long);
public static final long executionStart ();
}
public final class Hello $ extends java.lang.Object
implements scala.Application, scala.ScalaObject {
public static final Hello $ MODULE $;
public static {};
public void main (java.lang.String []);
public void scala $ Application $ _setter_ $ executionStart
_ $ eq (long);
public long executionStart ();
}
If development is carried out in Scala, it naturally makes more sense
to use the information as Scala-To be able to output code and not
just as Java code. The Scala- Distribution the command scalap, the
scala class file decoder , with. Since the If the current directory is
not automatically in the classpath, it must be entered with -cp . to
be added. Listing 2.11 shows the decoded Scala code of the two
Files hello.class and hello $ .class.
Listing 2.11: scalap -cp. Hello and scalap -cp. Hello $
object Hello extends java.lang.Object with scala.
Application with scala.ScalaObject {
def this () = { / * compiled code * / }
}
package hello $;
final class Hello $ extends scala.AnyRef with scala.
ScalaObject with scala.Application {
final val executionStart: scala.Long;
def executionStart (): scala.Long;
def scala $ Application $ _setter_ $ executionStart _ =
(scala.
Long): scala.Unit;
def main (scala.Array [java.lang.String]): scala.Unit;
def this (): scala.Unit;
}
object Hello $ {
final val MODULE $: Hello $;
}
2.1.3 The documentation generator
There is also a separate scaladoc for generating the API
documentation.a tool. Did you see the documentation of the Java
The API documentation is still very similar, but the current Scala
version now contains 2.8 a new documentation tool. The necessary
documentation of the source codes still looks almost exactly like the
one for Java and uses
Random documents with unrelated
content Scribd suggests to you:
Scala Programming A comprehensive beginner s guide to Scala 2nd Edition Claudia Alves
Scala Programming A comprehensive beginner s guide to Scala 2nd Edition Claudia Alves
Scala Programming A comprehensive beginner s guide to Scala 2nd Edition Claudia Alves
The Project Gutenberg eBook of The Trail Boys
of the Plains; Or, The Hunt for the Big Buffalo
This ebook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this ebook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.
Title: The Trail Boys of the Plains; Or, The Hunt for the Big
Buffalo
Author: W. Bert Foster
Illustrator: Walter S. Rogers
Release date: October 31, 2013 [eBook #44078]
Most recently updated: October 23, 2024
Language: English
Credits: Produced by Roger Frank and Sue Clark
*** START OF THE PROJECT GUTENBERG EBOOK THE TRAIL BOYS
OF THE PLAINS; OR, THE HUNT FOR THE BIG BUFFALO ***
When the rifle spoke the huge head of the buffalo was almost under
Poke’s belly
THE TRAIL BOYS OF THE PLAINS
OR
THE HUNT FOR THE BIG BUFFALO
BY
JAY WINTHROP ALLEN
ILLUSTRATED BY
WALTER S. ROGERS
NEW YORK
GEORGE SULLY & COMPANY
Copyright, 1915.
GEORGE SULLY & COMPANY
PRINTED IN THE U. S. A.
Table of Contents
I—SOMETHING ABOUT A BUFFALO
II—AT THE SILENT SUE
III—THE LAME INDIAN
IV—THE ROCKING STONE
V—THE BEARS’ DEN
VI—IN THE OLD TUNNEL
VII—THE RESCUE—AND AFTERWARD
VIII—CHET SHOOTS A HAWK
IX—ON THE TRAIL TO GRUB STAKE
X—MR. HAVENS HAS A VISITOR
XI—THE FIRST ADVENTURE
XII—A MAVERICK
XIII—“THE DOG SOLDIERS”
XIV—THE WARNING
XV—“WHAT WON’T BE LED MUST BE DRIVEN”
XVI—THE WOLF RING
XVII—A MYSTERY
XVIII—ROYAL GAME
XIX—A FRUITLESS CHASE
XX—A MIDNIGHT ALARM
XXI—A STARTLING DISCOVERY
XXII—AFTER THE THIEVES
XXIII—THE FIRST BUFFALO
XXIV—TIT FOR TAT
XXV—CHET’S DETERMINATION
XXVI—“THE KING OF THEM ALL”
XXVII—DIG’S GREAT IDEA
XXVIII—GREAT LUCK
XXIX—PLENTY OF EXCITEMENT
XXX—HOW IT ENDED
Illustrations
When the rifle spoke the huge head of the buffalo was almost under
Poke’s belly
Dig spurred his horse over to the place and leaped down to give his
chum a helping hand
Then Chet saw the bear—a big black fellow, standing erect
They fairly “wolfed” the venison steaks
CHAPTER I—SOMETHING ABOUT A BUFFALO
“Do you really suppose such a buffalo exists?” queried Chet Havens,
who was braiding a whiplash.
“You’ve got me there, boy,” said his chum, Dig Fordham, trying for
the hundredth time to carve his initials in the adamantine surface of
the old horse-block, and with a dull jackknife.
“By the last hoptoad that was chased out of Ireland! wouldn’t it be
just the Jim-dandy adventure, Chet, if we could go out after this
herd and capture the king of them all? It would be great!”
“It would be great enough, all right,” admitted Chet, nodding. “But it
would be some contract to capture such a bull. According to all
accounts he must be as strong as an elephant and almost as big.”
“Whew! do you think so, Chet?”
“If he measures up anywhere near to the specifications that Tony
Traddles gave us last week.”
“Oh—Tony!” returned Dig, in disgust. “If he saw a lizard sitting on a
log in the sun he’d declare it was the size of a crocodile.”
Chetwood Havens laughed. He was a nice-looking, fair-haired boy
with grey-blue eyes and long, dextrous, capable hands. He braided
the thongs without giving them more than a casual and cursory
glance.
He was a tall boy, and slender, but with plenty of bodily strength.
Digby Fordham was more sturdily built. He was square-set, broad-
shouldered and thick-chested; and he had a broad, good-humoured
face as well. His black hair was crisp; he had little, twinkling eyes;
and usually his countenance wore a smile.
“Well,” Chet went on to say, following his chum’s criticism of Tony’s
report, “there was Rafe Peters. Rafe is an old hunter, and he ought
to know what he’s talking about when he says it’s the biggest bull
buffalo that he ever saw.”
“Aw—all the buffaloes have gone up into Canada, somewhere,”
growled Dig.
“No. I expect there are stray herds—small ones—hidden away in the
mountains. Something or other has driven this herd out upon the
plains. I heard some of the men talking about making up a party to
go out and shoot ’em; but they are all too busy just now in the
mines.”
“I reckon Rafe was just trying to string us,” said Dig.
“You’re a Doubting Thomas,” laughed his chum.
“Well, why shouldn’t I be? I’ve heard tell of buffaloes ever since I
was knee-high to a tin whistle, and never a buffalo sign have I seen
yet—’cept those mangy old robes father’s got in the barn. I’m
beginning to be like the old farmer that went into the menagerie and
saw the giraffe. After he’d stared at it for an hour he shook his head,
and said, ‘Drat it all! there jest ain’t no such animile!’” and Dig
chuckled.
Chet was reflective. “Strange how all those creatures have
disappeared from the western plains, where they were once so
plentiful,” he said. “Pete was telling me that he was once hired by a
government expedition to keep the men supplied with fresh meat,
and that he often shot two and three hundred buffaloes in a single
day.”
“Whew!”
“And he was only one white hunter who worked at that time on the
herds. Some just killed the beasts for their hides—and the hides
were as low as a dollar apiece at one time. Then, the Indians
slaughtered hundreds of thousands uselessly. Why, Dig! I was
reading the other night that when the first Spaniards came up from
Mexico across the Great Staked Plains, they had to fairly push their
way through the buffalo herds.”
“Whew!” said his chum again. “When was this, Chet?”
“Some time before you were born, boy,” returned Chet, dryly.
“Did you ever see a buffalo?” demanded Dig, suddenly.
“Yes, at Nugget City when Wolfer Ben’s Wild West showed there. He
had a bull and three cows; and lots of old plainsmen went to see the
show just because of the buffaloes. They hadn’t seen any of the
creatures for a couple of decades.”
Dig was still chuckling. “Tell some eastern folks that and they
wouldn’t believe you. You know, I’ve a cousin Tom down Boston
way, and he’s always writing and saying he wants to come out here.”
“I’ve heard you speak of him.”
“Yep. Well, every time Tom gets mad with the folks at home, or sore
on the school he goes to, or the teachers, he writes me and says
he’s going to run away and come out here. And he wants to know
what kind of guns and ammunition he’ll have to buy, and if he’ll have
to wear a bowie-knife and two pistols stuck in his belt. He, he!”
“He must be a blockhead,” said Chet, in disgust. “What does he think
Silver Run is?”
“Well, I tell you,” proceeded Digby, “it’s partly my fault. At first I told
him the truth—that we had churches and schools and a circulating
library, and folks took a bath Saturday nights, if they didn’t oftener,
and wore boiled shirts on Sunday; and that a man who wore a pistol
in his belt would be taken in by the constable and examined as to
his sanity.
“But that didn’t suit Tom—oh, no! He said he knew I was kidding
him.”
“He did?”
“That’s what! So I got sick of being disbelieved, and I began to write
him the sort of stuff he wanted. I told him about the Comanches
attacking the town and we beating ’em off with great slaughter.”
“Dig Fordham! How could you? Why, we haven’t seen a bad Indian
in years.”
“Never mind. That’s what Tom wanted me to tell him. I told him all
the miners wore red flannel shirts, and went about with their pants
tucked into their boot-tops, and that they wore pistols in their belts,
and bowie-knives in their boots— By the way, Chet; what is a bowie-
knife?”
Chet laughed. “A kind of long-bladed hunting knife, ground to an
edge on both sides of the point, and invented by Colonel James
Bowie, of Texas. I got that out of an encyclopaedia.”
“Well, Tom knows all about ’em. I hope he comes out here some
time, togged up in the way he thinks we dress at Silver Run. If he
does, I know he’d scare a corral full of ponies into fits!” and Dig
went off into another spasm of laughter.
The boys had gotten off the subject of the strange buffalo herd that
had appeared on the open plains between Silver Run and Grub
Stake, a second silver mining town, deeper in the Rockies. Before
Dig recovered from his laughter at his own humorous conception of
his cousin’s appearance at Silver Run, Chet started up into a listening
attitude.
“What you cocking your ears for, Chet?” demanded Dig. “What’s got
you?”
“Who’s this coming?” demanded Chet, holding up his hand.
When the boys were silent they could hear the pounding of heavily
shod feet on the hard road. The Havens lived on the outskirts of
Silver Run, and the road to the mines passed by their corral fence.
Chet sprang up, and even the slower Digby showed interest. The
pounding feet were coming rapidly nearer.
The boys ran around the corner of the high board fence to the edge
of the road. There, coming down the hill, and out from the belt of
timber that surrounded the mountain above the town, was a man in
yellow overalls and cowhide boots. He was without a cap, his shirt
was open at the throat, and every indication about him showed
excitement.
“Goodness!” gasped Chet. “What can that mean?”
“It’s Dan Gubbins—and he’s so scared he can’t shut his mouth!”
observed Dig.
This seemed true. Dan Gubbins ran with his mouth wide open and
fear expressed unmistakably in his rugged features. He was one of
the men working in the mine in which Mr. Havens and Mr. Fordham
were interested.
“Hey, Dan! what’s the matter?” shouted Dig, as the big miner came
closer.
“She’s caved!” croaked the man, his throat so dry he could scarcely
speak.
“Who’s caved?” demanded Dig.
“What’s caved?” asked Chet, better understanding the vernacular.
“The Silent Sue! She slumped in like rotten ice in February!” gasped
the big miner, leaning against the fence near the boys. “Oh, my
Jimminy! It’s awful!”
Chet turned pale. Dig reddened and gulped back a sob with
difficulty.
“You—you don’t mean the mine’s all caved in?” stammered the latter.
“The shaft,” replied Dan.
Chet, the practical, demanded:
“How many are caught in the cave-in?”
“There’s five down there, besides—”
Dan halted and stared at the boy with sudden apprehension. Then,
after a moment, he whispered:
“My golly, Chet! whatever am I to tell your mother? Yer dad’s down
there with ’em!”
“Father!” exclaimed Chet, seizing Dig’s hand.
“Is my father in it too?” cried Dig, ready to burst into tears.
“Mr. Fordham warn’t there noways,” said Dan, getting his breath and
able now to speak more intelligibly. “Whatever am I to tell your
mother, Chet?” he repeated.
“You won’t say anything to her, Dan,” replied the boy, firmly. “I’ll tell
her myself. But give me the particulars. We want to know how it
happened. Isn’t there any hope? Can’t we get at them down there?”
“Dunno,” returned the miner. “Rafe Peters is in charge, and they are
digging like prairie-dogs to get down into the gallery. Everybody
down there is all right so fur. Ye see, it was like this: There was a
blast goin’ to be shot in Number Two tunnel. Ye know where that run
to?”
Chet nodded. “Over toward the old Crayton Shaft—that’s open now
—on the other side of the mountain. Father was saying the other
day that the Silent Sue’s Number Two must be getting pretty near
the old diggings.”
“That’s it,” said Dan Gubbins, nodding, and wiping his moist
forehead with the back of a hairy hand. “Well, they got ready that
shot, which was a heavy one. The timbering of the lower part of the
shaft didn’t suit Mr. Havens and he told Tony to put in new cross-
braces and some new planks.”
“Tony Traddles?” demanded Chet.
“Yes. An’ he oughter be jailed for what he done,” added the miner,
bitterly.
“How was that?” queried Digby, his eyes big with interest.
“Mr. Havens,” pursued the miner, “went down to see that all was
clear in the tunnel before the shot. He sings out to Tony and asks if
the timbering was all right; and the lazy rascal said ’twas.”
“And wasn’t it?” snapped Chet, his eyes blazing.
“No. He’d come up to fill and light his pipe and hadn’t blocked and
wedged his cross-beams. There was five of the boys ’sides your
father in the tunnel, and when the shot went off the shoring at the
bottom of the shaft shook right out and she caved in! It was awful! I
wonder you didn’t hear the rumble of it. And what I’m goin’ ter say
ter your mother, Chet—”
“You’re going to say nothing to her, Dan,” repeated the boy. “I’ll tell
her. You go and get a doctor, or two, Dan—and all the other help you
can. You saddle Hero and Poke, Dig. We must get up to the mine in
a hurry. I won’t be in the house long.”
He turned quickly away and started for the back door of his home.
The others did not see his face.
CHAPTER II—AT THE SILENT SUE
Those few yards between the corral and the back door of the
Havens’ pretty home in the Silver Run suburb were the hardest steps
Chet had ever taken. For his age he was naturally a thoughtful boy,
and he had been impressed by the manner in which his father ever
shielded the delicate, gentle mother from all the rough things of life.
If there was an accident in the mine, Mr. Havens seldom mentioned
it before his wife, and never did he repeat the particulars.
Chet had seen and understood. He knew that his mother was not to
be troubled by ordinary things if it could be helped. Of course, she
must know of his father’s danger; but the news must be broken to
her carefully. He could not allow rough but kind-hearted Dan
Gubbins to go in with his story of the accident at the Silent Sue
claim.
As he entered the sewing-room where his mother was engaged at
her work, she looked up with a little smile on her face.
“What’s wanted, Chetwood?” she asked.
She was a small woman, with a very delicate pink flush in her
cheeks and bands of prematurely grey hair above her forehead and
over the tops of her ears. Chet often said, laughingly, that if he ever
wanted to marry a girl, he’d wait to find one who wore her hair just
like his mother wore hers.
“What’s wanted, Chetwood?” she repeated, as the boy remained
silent after quietly closing the door. Then she saw his troubled face
and the work on which she was busied fell from her hands and, from
her lap, slipped to the floor as she slowly rose.
“Chetwood! My son! your father—?”
Her cry was low, but it thrilled Chet to the heart. He sprang forward
to seize her shaking hands. He knew that she was ever fearful when
Mr. Havens was in the mine.
“It’s not so bad as all that, Mother! Wait! don’t believe the worst!”
begged the boy, his voice choked with emotion.
“He—he isn’t killed?”
“Not a bit of it! There’s been a—a little accident. Father is down
there with some of the other men.”
“Down where?” she asked sharply.
“In Number Two drift. There was a cave-in. Of course they’ll get
them out. Old Rafe Peters is on the job already with a gang. I’m
going right up there.”
“Oh, Chet! Are you sure that is all? They are still alive?”
“Of course!” cried the boy, with strong conviction and even calling up
a smile. “Dan Gubbins came down to bring the news and get some
more men. Dig and I are going to ride right up.”
“Where is Digby’s father?” queried Mrs. Havens anxiously.
“He didn’t happen to be there when the cave-in took place. But he’s
probably there now. We’ll get at them all right. Don’t you fear,
Mother.”
“Oh, but my son! I shall be fearful indeed until I know your father is
safe. I am always afraid when he is in the mine. The men take such
chances!”
“Well, the Silent Sue has not recorded many accidents. Father and
Dig’s father are both very careful. Now, Mother, don’t worry any
more than you can help. I’ll send down word just as soon as we
know anything for sure.”
He kissed her—and kissed her cheerfully. That was the hardest part
of his mission, for he, too, was greatly worried. Then he seized his
cap and quirt and hurried out to the corral. Dig Fordham had, for
once, been prompt. He held Chet’s handsome bay, Hero, by the
bridle, while his own sleepy-looking, Roman-nosed Poke was
cropping grass at the edge of the road.
“Come on, Dig!” Chet cried, hastily jerking the reins from his chum’s
hand. “We must hurry.”
“Did you tell her?” whispered his chum, awe-struck.
“All she needed to know now,” snapped back Chet. “Look alive!”
He was astride of Hero in a moment and the noble animal took the
trail without urging. Dig whistled for Poke. Then he whistled again.
The ugly, sleepy-looking animal stopped for just one more bite.
“Isn’t that just like you, you ornery brute!” growled Digby. “If ever I
wanted you in a hurry you wouldn’t mind. Come on!”
He jumped for the horse, caught at the trailing bridle, and Poke
stood on his hind legs and pawed the air, his eyes suddenly afire,
striving to wheel about and escape Dig’s clutching hand.
Digby Fordham wasn’t afraid of any horse. He sprang right in under
the pawing hoofs, and seized the dangling reins. His hold was
secure; his wrist firm. At his first jerk Poke’s head came down and,
naturally, the horse’s forefeet as well.
The instant the hoofs struck the ground, and before Poke could
begin any further display of antics, Dig was in the saddle. Chet,
looking back over his shoulder as Hero set the pace up the
mountain, saw that his chum was securely astride Poke. Give Dig
both feet in the stirrups, and no horse living could dismount him. He
rode as though he were a part of the horse.
Digby and Poke were not always in accord, but Poke was tireless and
carried the heavy boy as though he were a feather-weight. Poke
could go without food and water much longer than most mountain-
bred mustangs. Dig declared there must be a strain of camel in him.
But there was not an attractive thing about the brute, either in
temper or appearance.
In a minute he was neck and neck with Hero, and both horses were
carrying their young masters up the slope at a fast pace. Dig
grumbled:
“This old rascal always cuts up when I want him in a hurry. I’m
going to trade him off for a horned toad, and then use the toad for a
currycomb. Your Hero is a regular lady’s horse ’side o’ him.”
“You know you wouldn’t take any money for old Poke,” returned
Chet, reaching out and smiting the black across his ugly nose with
his own palm. “Why do you give him a chance to get away from
you?”
“Because hope springs eternal in my breast,” declared Dig, who
would joke under any and all circumstances. “I’m always hopin’ I’ve
got the rascal broken of his bad habits.”
Chet was not in a mood for laughter; nor was his chum careless of
thought. He really hoped to get Chet’s mind off the mine accident. It
might not be anywhere near so bad as Dan Gubbins had said.
Mining at Silver Run was now carried on with much more care for
human life than it had been when the claims were first staked out
and the original owners had begun to get out “pay dirt.” Mr. Havens
was a practical engineer, a graduate from a College of Mines, and
with a long experience at other diggings before he had obtained a
controlling interest in the Silent Sue.
It was a mine the stock of which had never been exploited in the
eastern market. Mr. Fordham and Mr. Havens had always been able
to obtain sufficient capital to buy machinery and improve their
methods of getting out the ore; and they found the Silent Sue too
steadily productive to need any other partners.
Mr. Havens owned, also, a second claim near the first that might
some day develop into a rich one.
When the two chums rode up to the collection of rude miners’
cabins, sheds, the stamp-mill, and other shanties that surrounded
the mouth of the mine-shaft, they found a crowd already gathered.
Men and women alike were commingling excitedly about the shaft in
which the rescue party was at work.
A big, bushy-whiskered man in yellow overalls and a tarpaulin hat
was urging on the workers, and trying to keep the women and
children back from the open mouth of the pit.
“Oh, Rafe!” cried Chet, throwing himself out of the saddle and
running up to the mine boss. “Are they down there yet?”
“They’re all right so fur, Chet,” declared the man.
“Can you get them out?”
“I kin try—and that’s what I’m doin’,” the mine boss said huskily.
“Thirty foot of the bottom of the shaft’s caved in. It’s caved from all
four sides. We’re diggin’ out the earth and rubbage and sendin’ it up
by the bucket-load. Fast as we kin, we’re replacin’ the timbering.
That’s the best we can do.”
Chet had a quick mind and he knew a good deal about such
accidents, although there had been nothing like this at the Silent Sue
since he could remember.
“You can’t work a big gang in the shaft, Rafe,” he said anxiously.
“How long will it take ’em to get down to the bottom and into the
side tunnels?”
“I dunno, boy, I dunno,” the old man said, plainly worried. “But we’re
workin’ jest as fast as ever we can. I’m shiftin’ the men ev’ry two
hours and they’re all puttin’ in their very best licks.”
“You haven’t heard—heard from fa-father?” gasped Chet, trying to
control his voice.
“Golly! No, boy!” exclaimed the mine boss. “Thar’s thirty foot of
rubbage, I tell yer, at the bottom of the shaft. If they was hollerin’
their heads off we wouldn’t hear ’em yet. The fall of earth and stuff
is packed like iron.”
“Oh, it’ll be all right, Chet! It’ll be all right,” urged his chum, who had
come up after hitching the two mustangs.
Dig’s father had not as yet arrived. Nobody seemed to have much
head about him but old Rafe. But perhaps nobody could do much.
Chet stared at his chum and the mine boss hopelessly.
“Why, see!” he gasped. “It may be a week before you can clear the
bottom of that shaft—it may be longer! What will father—and the
others—do all that time? Oh, Dig! it’s awful—it’s awful! They’ll starve
to death!”
“Whew! I hadn’t thought of that,” muttered Digby Fordham.
Old Rafe Peters shook his head. He was keeping his eyes on the
buckets of “rubbage,” as he called it, that were being swiftly brought
to the surface by the steam winch. He had excavated the lower end
of the shaft himself and he knew the strata of earth through which it
passed. By the colour of that which came up in the buckets, he knew
the diggers had not gone far as yet.
One bucket went down as the other came up. It was not down three
minutes before the signal rang for it to be hoisted again. But
thousands upon thousands of buckets of debris would have to be
hoisted out of the shaft ere the way would be opened into tunnel
Number Two, lower level, in which Mr. Havens and the miners were
entombed.
CHAPTER III—THE LAME INDIAN
The five men shut in the mine with Chet’s father were all married
and their wives and children made the noisiest group of all at the
mouth of the Silent Sue mine. The rough men standing about tried
to comfort them; but there was not much of a comforting nature to
say.
There were plenty of men for the work of rescue; indeed, there were
so many in each two-hour shift that they got in each other’s way.
Chet Havens had put the situation concisely and to the point: It
would take more than a week to dig down to the opening of Number
Two tunnel; meanwhile, how would the entombed miners live
without food or water?
Mr. Fordham had not returned and there was nobody for the two
boys to confer with. The mine foreman was doing all that seemed
possible. It was a question whether what he did was of much use.
Six men in a stoppered tunnel, with no ventilation and nothing to eat
or drink, were not going to live long. Chet doubted if any of them
would be alive at the week’s end.
“Wait till father comes,” Dig said, almost sobbing, and seeing how
badly his chum felt. “Perhaps he’ll know some other way to get into
that drift.”
“What way?” demanded Chet. “He doesn’t know any more about the
mine than we do.”
“Maybe from the old upper level—”
“Bah! you know better,” Chet said sharply. “The pay-streak they
followed first in this mine is only fifty feet down. It petered out
before your father and mine bought into the Silent Sue—you know
that, Dig.
“No chance! The two levels have never been connected, save by the
shaft itself. Your father can’t dig any faster than these men are
digging. If there were only a way—
“Say, Dig! there’s the Crayton Shaft. Don’t you remember it? Father
told me the Number Two tunnel on the lower level was pretty close
to the old Crayton diggings. He always said that if the Crayton
people had kept on, they’d have struck pay-ore again. But they got
cold feet and father bought a share in the claim cheap. Now there’s
been a fellow around after it. I heard father talking about it.”
“What good will it do to go down the Crayton shaft?” demanded Dig
hopelessly.
“I don’t know—I don’t know,” admitted Chet. “But I can’t stand here
idle. I’ll go crazy—crazy! I must do something! Maybe the wall
between the tunnel of the Crayton mine and our Number Two is not
very thick. I’ve got a compass, and I know this hill like a book. So do
you. Let’s take a pick and shovel and ride over there.”
“Oh, Chet! I’m afraid you’re stirring yourself all up over nothing,”
returned his chum. “I’ll help you, of course; but I’m afraid it won’t
help us any to go over there.”
“We’ll not know till we try.”
“Will you take some of the men to help us?”
“Two can do all that can be done,” answered Chet, rather shrinking
from taking even Rafe Peters into his confidence. It seemed such a
forlorn hope!
“If the blast went off at the end of the tunnel, it’ll be full of rubbish
and take a lot of digging to get through it.”
“No. Our tunnel isn’t going head-on into the Crayton drift. I
understood father to say that Number Two tunnel passed the old
diggings by. My goodness! if he only remembers it, and knows just
where the Crayton tunnel is, maybe he and the boys will start
digging that way at once. Come on, Dig! Let’s ride over.”
Chet ran to the tool shed and seized a pick and shovel; the latter he
tossed to his chum and then sprang astride Hero with the pick in his
hand. This time his friend had no trouble in getting Poke, for he had
fastened that uneasy animal.
There was so much excitement around the mouth of the shaft that
nobody noticed the two boys riding away into the woods trail. They
knew the way perfectly. Indeed, there were not many trails in the
vicinity of Silver Run and the mountain that towered over it which
were not familiar to Chet Havens and Dig Fordham.
This mountain had been deeply scarred by the miners of the old
days. One side of the hill had been eaten away by the hydraulic
mining which was carried on when gold was first discovered here.
How much of the rich silver ore, which the early prospectors did not
recognise, had been wasted in the first excitement of finding gold,
will never be known.
For this really was a hill of silver. The veins of ore streaked it like the
arteries in a human body. The Silent Sue claim chanced to contain
seemingly exhaustless veins; while the old Crayton mine soon
petered out.
Once the wall of the forest had shut out the view of the shaft
buildings, the boys were likewise out of sight of all human
habitations. The old trail was rough and in places washed away, or
filled up with leaves or other litter.
Now and again as they rode along they came to deep excavations in
the hillside, old pits which had been abandoned almost as soon as
dug. There was neither gold nor silver in these places, although the
indications on the surface had toled the early miners on to make the
excavations.
At first the prospectors had been after gold, and gold alone. The
gold dust was mixed with a black, rotten ore that the early miners
did not recognise as sulphuret of silver, which is nothing more than
the pure metal in a decomposed state. The prospectors complained
loudly of the “nuisance” of this black stuff. It was worse than the
black sand found always in gold diggings, for such sand does not
interfere with the amalgamation of the gold ore.
This “black stuff” interfered with the mining of gold, and the
diggings got a bad name because of it. It was some years after the
cessation of gold digging in the mountain above Silver Run (which
was not then on the map) that the nature of this rotten silver ore
began to be understood. The Comstock Lode had then excited
world-wide attention, and men who had been among those who had
worked the claims on this mountain remembered that the same kind
of ore that proved so rich in the Comstock claim had been thrown
aside and anathematised by the miners in these old diggings.
So there was another “rush.” Silver Run was established. In some
relocated claims the silver ore was seen to be almost inexhaustible,
as in the Silent Sue, the mine owned by the fathers of Chet and
Digby.
Silver Run had become a town of some importance. There were
other industries besides mining. It was a well governed town, and
although on the verge of the wilderness it had easy communication
with cities in a more advanced state of civilisation.
When the boys were about two miles from the Silent Sue mine, they
came upon one of the abandoned camps. There was little left to
mark its occupancy by the prospectors of the old regime save
several caved-in shafts and some rusted, corrugated-iron shacks.
From the rusty stove-pipe chimney of one of these, smoke was
curling, and Digby said:
“I bet that’s where the lame Indian hangs out. You know, he’s old
Scarface’s grandson.”
“I know. John Peep. That’s what the boys used to call him when he
came to school.”
“You don’t want to call him that to his face,” chuckled Dig. “It makes
him madder’n a hen on a hot skillet. He’s got some fancy Indian
name that he prefers to be called by. Oh, he’s a reg’lar blanket
Indian—and Scarface does odd jobs of cleaning out cellars and
whitewashing!”
“Poor fellow!” said Chet, scarcely giving his mind to the matter of the
Indian youth. “It must be tough to limp around on a game leg. One’s
shorter than the other. You don’t often hear of a lame Indian.”
“No. Father says that in the old days if an Indian baby was born
deformed they got rid of it right away. And when Indians used to
fight they fought so hard that they usually killed each other. That’s
why there were seldom cripples among them.
“But this chap—Ah! there he is.”
A figure appeared at the open door of the shack. It was that of a
tall, slim boy, very dark, with red under the skin on his cheekbones,
and straight, long black hair. His “scalp lock” was braided; the rest of
the hair was well greased and hung to his shoulders.
The shoulders of the Indian youth were bare. Indeed, he wore
nothing at all in the way of a garment above his waist. Dig waved his
hand to the Indian, and shouted:
“Hello, John! You livin’ up here all alone?”
The Indian youth made no immediate reply, but walked out to the
trail on which the boys were riding. Chet was impatient of delay, but
Dig pulled in his horse. The lame boy stepped between the chums
and Chet looked back, restraining Hero.
“What are you boys doing up this way?” asked John.
“We’re in a hurry,” said Chet quickly. “Going over to the Crayton
shaft.”
“What for?”
“Say! you’re kind of nosey, I think,” said Dig frankly. “What do you
want to know for?”
But John Peep was looking at Chet and seemed to expect his answer
to come from that individual.
“There’s been an accident at the shaft of my father’s mine,” Chet
said. “There is a cave-in, and my father and five other men are shut
down in the mine. We’re going to see if we can’t get into the Silent
Sue mine from the old Crayton shaft. You know the Crayton shaft,
John?”
“I know,” said the Indian boy, nodding. “You can’t get down there.”
“Why can’t we?” cried Dig explosively. “You don’t know what you’re
talking about!”
“You can’t get down there,” repeated the lame Indian, but stepping
out of the way when Dig urged Poke along the trail.
“Why not?” asked Chet again.
“You can’t get down there,” said the Indian for a third time, and then
he turned and hobbled back toward the shack.
“You can’t get any sense out of him,” grumbled Dig, in disgust. “He’s
got some bug in his head. Maybe he thinks this whole mountain
belongs to him because it used to belong to his tribe. Old Scarface
told me this mountain was ‘bad medicine’ and nobody used to come
here but the Indian medicine men in the old days. You couldn’t hire
Scarface to come up here.”
The two white boys were riding steadily on over the rough trail. Chet
kept looking back at the abandoned camp, for he was puzzled. He
wondered what John Peep could have meant.
“There!” he exclaimed suddenly. “See that?”
“See what?” demanded his chum, twisting his neck in order to look
behind him.
“There’s a man with that fellow—a white man.”
“With the lame Indian?” queried Digby. “Why, so there is! Funny!
Can’t be one of the boys following us?”
“Of course not. Nobody could follow us so fast on foot. There! They
are staring after us. I never saw that man before; did you?”
“I don’t remember. He’s not a miner—or, he isn’t in working togs.
Give it up, Chet.”
So did Chet. He had something much more important to think of.
While the men at the shaft of the Silent Sue were endeavouring to
hoist out the rubbish that had fallen into the bottom of the shaft, the
young chap believed there was a better chance to get into the lower
tunnel of the mine by following the old drift of the abandoned
diggings.
In half an hour the two lads reached the mouth of the Crayton shaft.
Neither of the boys had been this way for a year.
Something had happened since their last visit to the spot. The old
log windlass was overturned, and when they left their horses and
ran to the mouth of the shaft they saw that a part of the shoring
had given way and hundreds of tons of earth and rock had fallen
into the pit, completely choking the way to the old mine.
CHAPTER IV—THE ROCKING STONE
“On, Chet!” gasped Digby Fordham. “This is awful! Isn’t there any
other old mine that touches the Silent Sue’s tunnels?”
“Not that I ever heard of,” replied his chum seriously. “This was only
a chance, of course; but father spoke of this old mine so recently—”
Chet was staring about the opening in the forest. Like the place at
which they had seen the lame Indian boy, it was an abandoned
camp. Several other claims had been worked here; but the shafts of
the other mines had caved in years and years before.
There was something peculiar about the filling-in of the Crayton
shaft. Chet began to scrutinise the vicinity—as Dig said, “sniffing
around like a hound on a cold scent.”
“No, sir!” muttered Chet. “It is not a cold scent.”
“Heh?” growled Digby.
“There’s been somebody here lately.”
“Well?”
“Here’s a campfire—fresh ashes. It rained three days ago. These
ashes are perfectly dry and feathery. Never have been rained on.”
“Quite true! Good for ‘Trailer Joe, the Young Scout of the Rockies,’”
chuckled Dig.
“That’s all right. You can laugh,” said his chum. “But I haven’t
forgotten the things old Rafe has told us when we have been out
hunting. It’s well to remember such things.”
“But what’s the good now?” demanded Dig. “We can’t get into the
mine, and it doesn’t matter who was here before us. Unless you
think there’s somebody gone down this shaft and the cave-in’s shut
them down there,” he added quickly.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!
textbookfull.com

More Related Content

PPTX
Lessons Learned: Scala and its Ecosystem
PPTX
Ten Compelling Reasons to Go the Scala Development Way - Metadesign Solutions
PDF
Get Programming with Scala MEAP V05 Daniela Sfregola
PPTX
Scala and its Ecosystem
PPTX
Scala Introduction - Meetup Scaladores RJ
PPTX
Introduction to Scala
PPT
Why scala - executive overview
PPTX
Scala for n00bs by a n00b.
Lessons Learned: Scala and its Ecosystem
Ten Compelling Reasons to Go the Scala Development Way - Metadesign Solutions
Get Programming with Scala MEAP V05 Daniela Sfregola
Scala and its Ecosystem
Scala Introduction - Meetup Scaladores RJ
Introduction to Scala
Why scala - executive overview
Scala for n00bs by a n00b.

Similar to Scala Programming A comprehensive beginner s guide to Scala 2nd Edition Claudia Alves (20)

PDF
Languages used by web app development services remotestac x
PDF
Programming Scala 3rd Edition Dean Wampler Dean Wampler
PDF
Scala a case4
PDF
Assist software awesome scala
PDF
Java In Easy Steps Covers Java 9 1st Edition Mike Mcgrath
PDF
Selling Scala to your boss
PDF
Functional Programming In Scala Second Edition Meap V08 2nd All Chapters Avai...
PDF
Functional programming in scala coursera
PPTX
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
PDF
Learn java in one day and learn it well 2016 jamie chan
PDF
Introduction to Java
PDF
Unit 1 notes.pdf
PPTX
java new technology
PDF
Learn Advanced Java Programming With Beginners Md Pulok
PPSX
Elements of Java Language
PDF
.NET RDF APIs
ODP
Introduction to Scala JS
PPTX
Java. converted (2)
PPTX
Classes and Objects
PPTX
Vb.net basics 1(vb,net--3 year)
Languages used by web app development services remotestac x
Programming Scala 3rd Edition Dean Wampler Dean Wampler
Scala a case4
Assist software awesome scala
Java In Easy Steps Covers Java 9 1st Edition Mike Mcgrath
Selling Scala to your boss
Functional Programming In Scala Second Edition Meap V08 2nd All Chapters Avai...
Functional programming in scala coursera
Sviluppare applicazioni nell'era dei "Big Data" con Scala e Spark - Mario Car...
Learn java in one day and learn it well 2016 jamie chan
Introduction to Java
Unit 1 notes.pdf
java new technology
Learn Advanced Java Programming With Beginners Md Pulok
Elements of Java Language
.NET RDF APIs
Introduction to Scala JS
Java. converted (2)
Classes and Objects
Vb.net basics 1(vb,net--3 year)
Ad

Recently uploaded (20)

PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PPTX
master seminar digital applications in india
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
Cell Structure & Organelles in detailed.
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PPTX
Pharma ospi slides which help in ospi learning
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PPTX
Lesson notes of climatology university.
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
GDM (1) (1).pptx small presentation for students
PDF
Complications of Minimal Access Surgery at WLH
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
Microbial diseases, their pathogenesis and prophylaxis
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
master seminar digital applications in india
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
102 student loan defaulters named and shamed – Is someone you know on the list?
VCE English Exam - Section C Student Revision Booklet
Cell Structure & Organelles in detailed.
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
O5-L3 Freight Transport Ops (International) V1.pdf
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
Anesthesia in Laparoscopic Surgery in India
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
Pharma ospi slides which help in ospi learning
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Lesson notes of climatology university.
STATICS OF THE RIGID BODIES Hibbelers.pdf
GDM (1) (1).pptx small presentation for students
Complications of Minimal Access Surgery at WLH
Module 4: Burden of Disease Tutorial Slides S2 2025
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Microbial diseases, their pathogenesis and prophylaxis
Ad

Scala Programming A comprehensive beginner s guide to Scala 2nd Edition Claudia Alves

  • 1. Scala Programming A comprehensive beginner s guide to Scala 2nd Edition Claudia Alves download https://textbookfull.com/product/scala-programming-a- comprehensive-beginner-s-guide-to-scala-2nd-edition-claudia- alves/ Download more ebook from https://textbookfull.com
  • 3. Table of Contents Preface 1. Introduction 1.1 What managers should know about Scala 1.2 Java Scala integration 1.3 About this book 1.4 Typographical and other conventions 2 Setting up the work environment 2.1 The Scala shell and the command line 2.1.1 The Scala interpreter 2.1.2 The Scala (de) compilers 2.1.3 The documentation generator 2.2 Build tools 2.2.1 The Maven Scala plugin 2.2.2 Simple Build Tool 2.3 IDE support 2.3.1 Eclipse 2.3.2 NetBeans 2.3.3 IntelliJ IDEA
  • 4. 3 basics 3.1 A little bit of syntax 3.2 Imperative programming 3.3 An executable program 3.4 Annotations 4 Pure object orientation 4.1 Classes and Objects 4.1.1 Fields and methods 4.1.2 What else classes can contain 4.1.3 Constructors 4.1.4 Enumerations 4.1.5 Inheritance and subtyping 4.1.6 Abstract classes 4.2 Code organization 4.2.1 Packages 4.2.2 Package Objects 4.2.3 Imports 4.3 traits 4.3.1 RichInterfaces 4.3.2 Stackable modifications 4.4 Implicits and Rich wrappers
  • 5. 5 Functional programming 5.1 LazyEvaluation 5.2 Functions and recursions 5.3 Higher order functions 5.4 Case classes and pattern matching 5.4.1 Case classes 5.4.2 Sealed classes 5.4.3 Partial functions 5.4.4 Variable names for (partial) patterns 5.4.5 ExceptionHandling 5.4.6 Extractors 5.4.7 Pattern matching with regular expressions 5.5 Currying's own control structures 5.6 For expressions 5.7 Type system 5.7.1 Standard types 5.7.2 Parametric Polymorphism and Variance 5.7.3 Upper and Lower Bounds
  • 6. 5.7.4 Views and ViewBounds 5.7.5 ContextBounds 5.7.6 Arrays and @ specialized 5.7.7 GeneralizedTypeConstraints 5.7.8 Self-type annotation 5.7.9 Structural and existential types 6 The Scala Standard Library 6.1 Overview and the Predef Object 6.2 The Collection Framework 6.3 Scala and XML 6.4 Combining parsers 6.5 A little bit of GUI 7 Actors - Concurrency and Multicore Programming 7.1 One thread is one Actor 7.2 Receive and react 7.3 Demons and Reactors 7.4 Scheduler 7.5 RemoteActors 8 Software Quality - Documenting and Testing
  • 7. 8.1 Scaladoc 8.2 ScalaCheck. 8.2.1 Basics. 8.2.2 Generators. 8.2.3 Automated testing with SBT 8.3 ScalaTest 8.3.1 ScalaTestundJUnit 8.3.2 ScalaTestundTestNG 8.3.3 ScalaTestundBDD 8.3.4 Functional, integration and acceptance tests 8.3.5 DieFunSuite 8.4 Specs 8.4.1 A Specs specification 8.4.2 Matchers 8.4.3 MockswithMockito 8.4.4 LiterateSpecifications 9 Web programming with the lift 9.1 Quick start with lift 9.2 Bootstrapping 9.3 Rendering templates and snippets
  • 8. 9.4 User management and SiteMap 9.5 Persistence 9.6 Implementation of the snippets 10 Lightweight web programming with Scalatra 10.1 Quick start with Scalatra 10.2 The Final Grade Calculator 11 Akka – Actors and SoftwareTransactionalMemory 11.1 Quick start with battery 11.2 The MovieStore 11.3 User and Session Management
  • 9. Preface Scala: A programming language that uniquely supports object- oriented Programming merges with the functional 1 that is preparing to move Java from To throne and to program with that is really fun. In the summer semester of 2010, in addition to Haskell, I also taught Scala for the reading “Advanced Functional Programming” and many I have had good experiences. I saw how my students medium functional concepts with Scala could be transferred very well to the JVM. ten. From the 2010/11 winter semester, I started using Scala instead of Java for the Use programming training of the freshman students. In Scala there arele things have been
  • 10. implemented in a simpler and cleaner way. For example, the Printout println ("Hello World") all by itself in a file as a script or type directly into the interactive Scala interpreter. In Scala you can Let's stay so close to Java at first that a later switch is hardly possible Likely to cause problems 2 . That I also distributed Scala for programming Discussing systems goes without saying thanks to the actors and akka. With this book I would like to bring you closer to everything Scala has to offer, in which, in addition to the programming language itself, I also give you the essentials I will introduce tools and frameworks. My warmest thanks go to everyone who made this book possible and to me in this one Supported the project: Above all my family. Important discussions and Patrick Baumgartner, Jürgen Dubau, Christoph Schmidt, Heiko Seeberger and Bernd Weber contributed. Thanks a lot for this. For the good I thank Margarete on behalf of the cooperation with the Hanser Verlag Metzger and Irene Weilhart.
  • 11. Chapter 1 introduction Another new programming language, although: Scala is no longer like that New. The development began in 2001 at the École polytechnique fédérale de La- sanne (EPFL) in Switzerland by a team led by Professor Martin Odersky. The first release was published in 2003. Version 2.0 followed in 2006 In 2010, while this book is being written, version 2.8 will be released. which, according to Odersky, should actually be 3.0 1 . Professor Odersky is no stranger to the Java world. 1995 he started with Phi- lip Wadler 2 with the development of the functional programming language Pizza 3 , which can be translated into bytecode for the Java Virtual Machine (JVM). These Work led to GJ 4 and finally to the new javac compiler and the one with Java 5 introduced Java Generics 5 . When Odersky came to EPFL in 1999, he shifted his focus a little. He had still the goal of object-oriented and functional programming tooconnect, but no longer wanted to be burdened with the restrictions of Java. After developing the programming language Funnel 6 , he took on additional goals the practicality and interoperability with standard platforms and designed Scala 7 . Scala is a hybrid language that uniquely combines features of objective connects entertaining and functional programming languages. Scala design goal is a concise, elegant and type-safe programming. Scala isn't just inBytecode compiled for the JVM, any Java code can also be extracted directly Use the Scala and vice versa. Scala is a purely object-oriented programming language. That means, in Scala everythe value of an object. Scala uses a concept of classes and traits. With traits Rich interfaces can be implemented, because traits can already be implemented
  • 12. mentions included. Classes are extended through inheritance, traits are mixed into a class or an object. So as not to get into typical problems running with multiple inheritance, traits are linearized. Whether Scala may call itself a functional programming language has been shortened on the web. lich first discussed in detail. Odersky finally refers to Scala in [Ode10a]as post-functional language. What is certain is that Scala has a number has features that are either attributable to functional programming or come from their environment. In Scala, each function is a value of 8 and can be equated with other values. th are treated. This means, for example, that a function can ment or result of another function 9 , functions can be in lists and functions can be nested within one another. In addition, Scala also supports features such as Pattern Matching 10 and Cur- rysing 11 . In contrast to many modern and trendy programming languages, Sca- la statically typed. That is, the type of all expressions becomes compile-time checked and not at runtime, as is the case with dynamically typed languages the case is. After a large number of programming errors type errors, we believe that static typing is generally preferable. to draw. The main disadvantage, namely the need to have types everywheremust be specified is countered in Scala with a type inference mechanism.net. This means that it is not necessary to specify types in most places. At the When translating, the type is then inferred and it is checked whether everything fits together. Scala has a very sophisticated type system that, in addition to generic classes and polymorphic methods also include variance annotations, upper and lower bounds and much more. Another feature of Scala, which by the way stands for Scalable Language, is the easy expandability. Scala is therefore predestined for the creation of do- main Specific Languages ​ ​ (DSLs). Last but not least, Scala can also work with support for the .NET platform. But that's still the case not a stand that can be described as “production ready”.
  • 13. Scala on the JVM has long since grown up and can in all situations, can also be used in a business-critical manner. The further development of Scala is very active, from bug fix releases to new features will be announced in the next Expect some more time. For the coming years, the focus of the Scala- Teams on the even better support of multicore architectures. 1.1 What managers should know about Scala Scala is a mature, very well thought-out programming language. With Scala you can You can do everything that can be done with Java without restriction. After Scala is compiled in bytecode for the JVM, i.e. in Java bytecode, you can of course also use the Scala code created once
  • 14. from Java. Zen. In summary, this means: Scala can be tried out safely. Even if you should switch back to Java, working in Scala is otherwise. And the entire range of tools used for Java development such as Eclipse, NetBeans or Maven, is used to develop Scala- Code just continued to use. But why should you switch to Scala at all? Scala increases productivity vity! Scala offers a variety of features that allow you to use shorter and elegant write other code. Certainly the sheer number of lines of code is not very meaningful, but with less code there is at least statistical also seen fewer errors. Scala is typed more strictly than Java. Also because of that fewer errors slip through. And a major advantage when starting with Sca- la is that it feels almost like java and added features gradually can be braided. Why then Scala and not one of the countless other languages? I would like to Let us give only a few quotations: "If I were to pick a language to use today other than Java, it would be Scala." James Gosling, creator of Java "Scala, it must be stated, is the current heir apparent to the Java throne. No other language on the JVM seems as capable of being a “replacement for Java” as Sca- la, and the momentum behind Scala is now unquestionable. While Scala is not a dynamic language, it has many of the characteristics of popular dynamic language- ges, through its rich and flexible type system, its sparse and clean syntax, and its marriage of functional and object paradigms. " Charles Nutter, creator of JRuby "Though my tip though for the long term replacement of javac is Scala. I'm very impressed with it! I can honestly say if someone had shown me the programming in Scala book by Martin Odersky, Lex Spoon & Bill Venners back in 2003 I'd
  • 15. probably have never created Groovy. " James Strachan, creator of Groovy Who still uses Scala? Scala is now in a number of companies such as Sony, Siemens and Xerox arrived. Let us consider two examples of success layers: 1. Électricité de France Trading (EDFT) is a subsidiary of France largest energy company EDF, which deals with the energy market. In the last n years ago, EDFT held a substantial portion of the 300,000 lines of Java code for “Trading and Pricing” successfully replaced by Scala. EDFT speaks of a A significant increase in productivity and much improved Interfaces for your dealers. Team leader Alex McGuire has meanwhile le EDFT and founded his own company, Scala-Consulting for Financial service providers and trading companies offers. 2. Twitter 12 offers a very popular real-time messaging service, the world- well over 70 million users use it. The Twitter infrastructure processes ture, which now largely consists of Scala code in the backend, over 50 Millions of short messages, so-called tweets. And what about commercial support? There is already a wide variety of them Shape. There is a very active Scala community and first, also German, companies, who provide Scala Consulting. An essential step was the establishment of the companyma ScalaSolutions by Martin Odersky himself. The company offers Scala support, -Consulting and training. And last but not least, interested and good Java programmers turned into good Scala developers within a very short time be trained. 1.2 Java Scala integration Even if you have not yet got to know Scala, we want to take it here for further motivation, already read something about the seamless integration with Java
  • 16. gen. From Scala you can use Java classes and libraries in the same way how you would do that directly in Java 13 . The reverse is almost as easy. Only in a few small places sen to know a bit more about the internals. Scala is what language features as far as more powerful than Java. However, all features are represented by Java bytecode. sent. So we can get anywhere from Java, the only question is how. In Scala, in contrast to Java, everything is an object. For better performance the objects that are represented in Java as primitive types, if possible Lich converted into a primitive value, e.g. the Scala Int into the Java int. If this is not possible, e.g. because primitive data types are not used as type parameters in Java meter are allowed for generic classes, the value is in the appropriate Wrapper instance converted. For example, the Scala Int is in a list translated into an instance of the java.lang.Integer class. Scala's pure object orientation does not allow static class members. Instead of- Scala has singleton objects. From a singleton object named MyObject a class with the name MyObject $ is created that contains the object can be used via the static field MODULE $. If there is no associated class for the singleton object, it is is a so- called standalone object, there is also a class se named MyObject creates the static members for all members of the Scala object. This then points to member x of the Scala object MyObject is accessed in Scala as well as in Java with MyObject.x. It's a bit more complicated with Scalas Traits as Java doesn't have one Knows construct. A trait always becomes a Java interface and thus a Type generated. All methods of the Scala objects be used. However, implementing a trait in Java is not practical. tikabel, unless the trait
  • 17. contains only abstract members. Java's annotations and exceptions are supported by Scala. Special Scala Annotations such as @volatile, @transient and @serializable are transformed into the corresponding Java constructs. Scala does not know ne Checked Exceptions, but offers an @throws annotation for the Java Interoperability. 1.3 About this book With this book we want to introduce you to the fascinating world of Sca- la kidnap. To make your entry as pleasant as possible and so that you can try out what we have described in practice right away, begin- in Chapter 2 with information about the Scala tools and the tools to support the development process. Then we deal with the programming language Sca in three chapters. la. In chapter 3 we feel our way to the syntax and discuss the imperative ven programming concepts. We'll also show you how executable in Scala Scripts are developed and create a first compilable program. Even if the features of Scala are not strictly object-oriented and functional programming languages, we have one Division into two chapters 4 and 5. There is everything which is more to be assigned to the area of ​ ​ object orientation, in Chapter 4, and the Features that originally come from functional programming or are more closely related to it, in Chapter 5. The popularity and usability of a programming language is of course not alive only from the language core. In two chapters we turn our attention to the libraries brought by the Scala distribution. In Chapter 6 we give first a rough overview before we look at some areas such as the collection framework and take a closer look at Scala’s excellent XML support.
  • 18. ten. Due to its increasing importance, the actor library is of secondary importance A separate chapter is dedicated to current and multicore programming, namely Chapter 7. Good quality software should be well documented and tested. In the We present the usual approaches to Scala development in Chapter 8. The last three chapters give you an introduction to three Scala frameworks. In In each of the three chapters, we develop a small sample application. The Talk Allocator created in Chapter 9 is a web application that runs on Lift 14 , a a very extensive web framework. The final grade calculator from Chapter 10 uses the very lightweight web framework Scalatra 15 . And Finally, with the MovieStore in Chapter 11, we dive into the fascinating World of Actors and Software Transactional Memory with Akka 16 . About the previous In addition to the frameworks provided, there are a lot of other very interesting questions meworks such as ScalaModules, already described in [WBB10] has been. On the website for the book http://scala.obraun.net/ you will find links to Source code for some chapters. You can find more information about Scala on the Scala website http://www.scala- lang.org/, on many mailing lists in blogs etc. A number of English- language Scala books are also available, [OSV08] should be mentioned here as an example. 1.4 Typographical and other conventions The shell commands are preceded by a $ sign, which when typing may not be entered. Lines without the dollar sign are outputs for example: $ scala -version Scala code runner version 2.8.0.final - Copyright 2002-2010, LAMP / EPFL
  • 19. Commands in the interactive Scala environment is as prompt scala > pre- employed. If the entry extends over several lines, the following the lines with five spaces followed by a | symbol. Other lines are Output from the Scala interpreter, for example: scale> for (i <- 1 to 3) | println (i) 1 2 3 For the sake of better readability, this book does not include any indicate the feminine and masculine form of the position, such as "the reader the reader ”or“ the reader ”. With the usual form then used, e.g. Of course, we would like readers to be “the reader” alike speak to. And now we hope you enjoy reading and trying it out.
  • 21. Chapter 2 Setting up the working environment If you want to learn a foreign language, most of them will Other people recommend that you speak as much as possible in it. It is analogous with learning a new programming language. The most important thing is a lot in it to program. So that you can do it well and not get through it too much Selection and setup of the working environment from a quick start in the Scala World, we would like to introduce you to the Scala tools and in this chapter present the support for the common development environments. In from- Section 2.1 we briefly explain the various command line programs of the Scala distribution. We show the usual Scala build tools Maven and Sbt To you in section 2.2. Finally we take a look at the available bare IDE support in section 2.3. 2.1 The Scala shell and the command line For the first steps in Scala, it is sufficient to install or unpack the Scala-Distribution. You can find this either at http://www.scala- lang.org/ or, if you work under Linux / * BSD / MacOS X / ..., with a high probability
  • 22. included in your package management system. In addition to the standard library, the following are essentially installed Shell scripts or batch files (with the extension .bat): scala - The Scala "interpreter". With the scala command, Scala applications, analogous to Java Applications or Scala scripts started in the Java runtime environment will. If no argument is passed when calling, the so-called Scala shell , an interactive command line interpreter, so a so-called REPL 1 , which is discussed in more detail below. scalac - The Scala compiler. The Scala compiler can be used to generate JVM 1.5 compatible. Class files or, if -target: msil is specified, MSIL assembly code for the .NET platform 2 . fsc - The "Fast Offline" Compiler. In order not to initialize the JVM with every compilation process and having to load agile classes, fsc starts a Compilation daemon that can be reused for further translations can. This makes compiling the same classes particularly extreme accelerated. In order to change the content of the class path used in the To take into account compilation, the daemon must explicitly use fsc -shutdown to be terminated. The fsc is also used when a Scala- Script is to be executed with the scala command 3 . scalap - The class file decoder. Analogous to javap, the Java class file disassembler, scalap the class files generated with the Scala compiler. When using javap provides you with the disassembled Java code, with scalap the Scala code. scaladoc - the documentation generator. The Scala distribution contains its own tool to extract from the source code files generate the API as HTML files. Although the tags to use for the documentation essentially the same as those of Javadoc. men, your own tool is required, as a Scala API also includes objects and traits may contain. In addition, scaladoc has been revised with Scala 2.8 and better adapted to Scala. sbaz - The Scala Bazar System (SBaz) The Scala Bazar system is intended as a package management system for a Maintain Scala installation. sbaz offers commands to install packages- ren, remove and upgrade to a newer version. Furthermore self-developed packages can be packed and distributed with the help of sbaz the. With the sbaz-setup, which is also
  • 23. included in the Scala distribution, a new directory can easily be initialized with Sbaz. The commands that access the JDK or JRE, scala, scalac and fsc, consider the environment variables, if they are set: JAVACMD, the Java command to execute the Scala code, JAVA_HOME, the directory where the JDK / JRE programs are installed, And JAVA_OPTS, options that are passed to the JAVACMD. In the following we will describe the various command line programs look a little closer. It is not necessary that you use the listed Source code, in particular the source code generated by tools such as scalap understand this point exactly. Rather, the goal is to gain insight what is possible with the commands. 2.1.1 The Scala interpreter Although Scala source code is generally in bytecode for the JVM or for the .NET platform is translated, the distribution also brings an interactive ven interpreter with. This is started with the command scala without any more arguments. Listing 2.1: Starting the interactive Scala interpreter $ scala Welcome to Scala version 2.8.0.final (Java HotSpot (TM) 64-bit server VM, Java 1.6.0_20). Type in expressions to have them evaluated. Type: help for more information. scala> After starting, expressions can be entered in the Scala shell. These are evaluated immediately after pressing the return key and the The result is output.
  • 24. Listing 2.2: Simple calculations in the Scala shell scale> 1 + 2 res0: Int = 3 scala> println ("Hello World!") Hello World! scala> println ("The result is" + (1 + 2)) The result is 3 scala> println ("The result is" + res0) The result is 3 Listing 2.2 shows a few simple examples that you can calculate in the Scala shell can leave. First the integers 1 and 2 are added and the sum issued. The result is automatically assigned to the variable res0 and can thus be referenced again later. In addition, the inferior te type issued. The next result of a calculation is then the riables res1 assigned etc. The following three inputs do not calculate result but only have one side effect, which is something on the command line issues. You can of course introduce your own variables, and it is possible to enter Scala code over several lines (see Listing 2.3). Additional 5 spaces, followed by a | symbol, automatic table preceded by the Scala shell. To allow an additional line, the shell must recognize that the entry is not yet a correct one Expression acts. Listing 2.3: Own Variables and Multi-Line Code scala> val sum = 1 until 100 reduceLeft {(x, y) => x + y} sum: Int = 4950 scale> for (i <- 1 to 5) | if (i% 2 == 0) |
  • 25. println (i + "is even and between 1 and 5") 2 is even and between 1 and 5 4 is even and between 1 and 5 We will see later that the Scala shell is not quite equivalent to the Compile and run is 4 . With scala -i < filename > a Scala file can be placed in the Scala- Shell to be loaded. In the shell session itself, you can use the comm command: load < filename > a file can be loaded and interpreted with : jar < filename > a JAR is added to the classpath. Since Scala 2.8.0 the shell masters autocomplete using the tab key. Thieves- The interpretation of some other commands can be queried with: help. Interesting to see the power of Scala directly on the command line is the -e flag, which can be used to specify a scala expression, the is evaluated immediately, as shown in Listing 2.4, for example. Listing 2.4: Output of the absolute path on the command line using Scala $ scala -e 'val file = new java.io.File (".") println (file.getAbsolutePath ()) ' / home / obraun / projects / scalabuch /. If the scala interpreter receives a Scala script, i.e. a source code file with Scala Code, passed as an argument, this is compiled with the fsc and so- continued running. If the command line switch - nocompdaemon is used, then is compiled with scalac. To avoid repeated execution of an unchangeable To speed up scripts, - savecompiled can be specified. Anything entered in the interactive shell can be in a Scala script may be, i.e. variables, functions, classes and objects can be defined be ned. The script is processed line by line and when it is reached the end of the file. A Scala script can also be made executable yourself will. Under Unix this works with the shebang, as shown in Listing 2.5.
  • 26. represents. However, in contrast to other shell scripts, the header must be used for the Scala script must be completed with! #. Listing 2.5: Scala script executable under Unix #! / bin / sh exec scala "$ 0" "$ @" ! # println ("Hello reader!") On Windows, the executable script looks like the one shown in Listing 2.6. Listing 2.6: Scala script executable under Windows :: #! @echo off call scale% 0% * goto: eof ::! # println ("Hello reader!") Last but not least, the command scala < objectname > is used analogously to java < classname > is used to create an object previously translated with the Scala compiler. project to execute. To do this, the object must contain a main method. 2.1.2 The Scala (de) compilers The Scala compiler converts Scala source code files into class files for the
  • 27. JVM translated or with -target: msil MSIL assembler code for .NET generated. For normal use it is enough to know that the call is made $ scalac <filename> or. $ fsc <filename> translates the objects and classes contained in < filename > . Hereinafter let's go a little deeper for those interested in it. The compiler goes through different phases such as parse, analyze and uncurry. With the command line flag -Xprint: < phases > it is possible to to output the file after the specified phase and thus to add something to see the scenery. For example, the object defined in Listing 2.7 after parsing as shown in Listing 2.8. Listing 2.7: Hallo.scala object Hello extends Application { println ("Hello reader!") } Listing 2.8: Hallo.scala after parsing [[syntax trees at end of parser]] // Scala source : Hello. scale package <empty> { object Hello extends Application with scala.ScalaObject { def <init> () = { super. <init> (); ()
  • 28. }; println ("Hello reader!") } } With the -print flag, the program can run without any Scala-specific features can be output (see Listing 2.9). Listing 2.9: scalac -print Hallo.scala [[syntax trees at end of cleanup]] // Scala source : Hello. scale package <empty> { final class Hello extends java.lang.Object with Application with ScalaObject { <stable> <accessor> def executionStart (): Long = Hello.this.executionStart; private [this] val executionStart: Long = _; <accessor> def scala $ Application $ _setter_ $ executionStart _ = (x $ 1: Long): Unit = Hello.this. executionStart = x $ 1; def main (args: Array [java.lang.String]): Unit = scala .Application $ class.main (Hello.this, args); def this (): object Hello = { Hello.super.this (); scala.Application $ class. / * Application $ class * / $ init $ (Hello.this); scala.this.Predef.println ("Hello readers!"); () } } } Of course, the necessary paths such as class-path or sourcepath can be specified. Flags like -verbose, -optimise and
  • 29. -explaintypes and a variety of advanced options offer further possibilities- to adapt the translation process to your own needs. The the respective meaning can be found in the document supplied in the Scala distribution can be removed. The Fast Offline Compiler fsc starts a compilation daemon that works on a Socket accepts further translations. With the flag -verbose leaves watch yourself what happens the first time you call it up. -Reset can be used to empty the caches used by the compile server . The daemon can be shut down with -shutdown. The translated class files can be processed with the command contained in the JDK. do javap be disassembled. For example, from the Scala file Hallo.scala (see Listing 2.7) the two JVM classes Hello and Hello $ testifies (see Listing 2.10) Listing 2.10: javap hello and javap hello $ // This is Java public final class Hello extends java.lang.Object { public static final void main (java.lang.String []); public static final void scala $ Application $ _setter_ $ executionStart_ $ eq (long); public static final long executionStart (); } public final class Hello $ extends java.lang.Object implements scala.Application, scala.ScalaObject { public static final Hello $ MODULE $; public static {}; public void main (java.lang.String []); public void scala $ Application $ _setter_ $ executionStart _ $ eq (long); public long executionStart (); } If development is carried out in Scala, it naturally makes more sense to use the information as Scala-To be able to output code and not
  • 30. just as Java code. The Scala- Distribution the command scalap, the scala class file decoder , with. Since the If the current directory is not automatically in the classpath, it must be entered with -cp . to be added. Listing 2.11 shows the decoded Scala code of the two Files hello.class and hello $ .class. Listing 2.11: scalap -cp. Hello and scalap -cp. Hello $ object Hello extends java.lang.Object with scala. Application with scala.ScalaObject { def this () = { / * compiled code * / } } package hello $; final class Hello $ extends scala.AnyRef with scala. ScalaObject with scala.Application { final val executionStart: scala.Long; def executionStart (): scala.Long; def scala $ Application $ _setter_ $ executionStart _ = (scala. Long): scala.Unit; def main (scala.Array [java.lang.String]): scala.Unit; def this (): scala.Unit; } object Hello $ { final val MODULE $: Hello $; } 2.1.3 The documentation generator There is also a separate scaladoc for generating the API documentation.a tool. Did you see the documentation of the Java The API documentation is still very similar, but the current Scala version now contains 2.8 a new documentation tool. The necessary documentation of the source codes still looks almost exactly like the one for Java and uses
  • 31. Random documents with unrelated content Scribd suggests to you:
  • 35. The Project Gutenberg eBook of The Trail Boys of the Plains; Or, The Hunt for the Big Buffalo
  • 36. This ebook is for the use of anyone anywhere in the United States and most other parts of the world at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this ebook or online at www.gutenberg.org. If you are not located in the United States, you will have to check the laws of the country where you are located before using this eBook. Title: The Trail Boys of the Plains; Or, The Hunt for the Big Buffalo Author: W. Bert Foster Illustrator: Walter S. Rogers Release date: October 31, 2013 [eBook #44078] Most recently updated: October 23, 2024 Language: English Credits: Produced by Roger Frank and Sue Clark *** START OF THE PROJECT GUTENBERG EBOOK THE TRAIL BOYS OF THE PLAINS; OR, THE HUNT FOR THE BIG BUFFALO ***
  • 37. When the rifle spoke the huge head of the buffalo was almost under Poke’s belly THE TRAIL BOYS OF THE PLAINS OR THE HUNT FOR THE BIG BUFFALO
  • 38. BY JAY WINTHROP ALLEN ILLUSTRATED BY WALTER S. ROGERS NEW YORK GEORGE SULLY & COMPANY Copyright, 1915. GEORGE SULLY & COMPANY PRINTED IN THE U. S. A. Table of Contents
  • 39. I—SOMETHING ABOUT A BUFFALO II—AT THE SILENT SUE III—THE LAME INDIAN IV—THE ROCKING STONE V—THE BEARS’ DEN VI—IN THE OLD TUNNEL VII—THE RESCUE—AND AFTERWARD VIII—CHET SHOOTS A HAWK IX—ON THE TRAIL TO GRUB STAKE X—MR. HAVENS HAS A VISITOR XI—THE FIRST ADVENTURE XII—A MAVERICK XIII—“THE DOG SOLDIERS” XIV—THE WARNING XV—“WHAT WON’T BE LED MUST BE DRIVEN” XVI—THE WOLF RING XVII—A MYSTERY XVIII—ROYAL GAME XIX—A FRUITLESS CHASE XX—A MIDNIGHT ALARM XXI—A STARTLING DISCOVERY XXII—AFTER THE THIEVES XXIII—THE FIRST BUFFALO XXIV—TIT FOR TAT XXV—CHET’S DETERMINATION XXVI—“THE KING OF THEM ALL” XXVII—DIG’S GREAT IDEA XXVIII—GREAT LUCK XXIX—PLENTY OF EXCITEMENT XXX—HOW IT ENDED Illustrations
  • 40. When the rifle spoke the huge head of the buffalo was almost under Poke’s belly Dig spurred his horse over to the place and leaped down to give his chum a helping hand Then Chet saw the bear—a big black fellow, standing erect They fairly “wolfed” the venison steaks
  • 41. CHAPTER I—SOMETHING ABOUT A BUFFALO “Do you really suppose such a buffalo exists?” queried Chet Havens, who was braiding a whiplash. “You’ve got me there, boy,” said his chum, Dig Fordham, trying for the hundredth time to carve his initials in the adamantine surface of the old horse-block, and with a dull jackknife. “By the last hoptoad that was chased out of Ireland! wouldn’t it be just the Jim-dandy adventure, Chet, if we could go out after this herd and capture the king of them all? It would be great!” “It would be great enough, all right,” admitted Chet, nodding. “But it would be some contract to capture such a bull. According to all accounts he must be as strong as an elephant and almost as big.” “Whew! do you think so, Chet?” “If he measures up anywhere near to the specifications that Tony Traddles gave us last week.” “Oh—Tony!” returned Dig, in disgust. “If he saw a lizard sitting on a log in the sun he’d declare it was the size of a crocodile.” Chetwood Havens laughed. He was a nice-looking, fair-haired boy with grey-blue eyes and long, dextrous, capable hands. He braided the thongs without giving them more than a casual and cursory glance. He was a tall boy, and slender, but with plenty of bodily strength. Digby Fordham was more sturdily built. He was square-set, broad- shouldered and thick-chested; and he had a broad, good-humoured face as well. His black hair was crisp; he had little, twinkling eyes; and usually his countenance wore a smile. “Well,” Chet went on to say, following his chum’s criticism of Tony’s report, “there was Rafe Peters. Rafe is an old hunter, and he ought
  • 42. to know what he’s talking about when he says it’s the biggest bull buffalo that he ever saw.” “Aw—all the buffaloes have gone up into Canada, somewhere,” growled Dig. “No. I expect there are stray herds—small ones—hidden away in the mountains. Something or other has driven this herd out upon the plains. I heard some of the men talking about making up a party to go out and shoot ’em; but they are all too busy just now in the mines.” “I reckon Rafe was just trying to string us,” said Dig. “You’re a Doubting Thomas,” laughed his chum. “Well, why shouldn’t I be? I’ve heard tell of buffaloes ever since I was knee-high to a tin whistle, and never a buffalo sign have I seen yet—’cept those mangy old robes father’s got in the barn. I’m beginning to be like the old farmer that went into the menagerie and saw the giraffe. After he’d stared at it for an hour he shook his head, and said, ‘Drat it all! there jest ain’t no such animile!’” and Dig chuckled. Chet was reflective. “Strange how all those creatures have disappeared from the western plains, where they were once so plentiful,” he said. “Pete was telling me that he was once hired by a government expedition to keep the men supplied with fresh meat, and that he often shot two and three hundred buffaloes in a single day.” “Whew!” “And he was only one white hunter who worked at that time on the herds. Some just killed the beasts for their hides—and the hides were as low as a dollar apiece at one time. Then, the Indians slaughtered hundreds of thousands uselessly. Why, Dig! I was reading the other night that when the first Spaniards came up from Mexico across the Great Staked Plains, they had to fairly push their way through the buffalo herds.”
  • 43. “Whew!” said his chum again. “When was this, Chet?” “Some time before you were born, boy,” returned Chet, dryly. “Did you ever see a buffalo?” demanded Dig, suddenly. “Yes, at Nugget City when Wolfer Ben’s Wild West showed there. He had a bull and three cows; and lots of old plainsmen went to see the show just because of the buffaloes. They hadn’t seen any of the creatures for a couple of decades.” Dig was still chuckling. “Tell some eastern folks that and they wouldn’t believe you. You know, I’ve a cousin Tom down Boston way, and he’s always writing and saying he wants to come out here.” “I’ve heard you speak of him.” “Yep. Well, every time Tom gets mad with the folks at home, or sore on the school he goes to, or the teachers, he writes me and says he’s going to run away and come out here. And he wants to know what kind of guns and ammunition he’ll have to buy, and if he’ll have to wear a bowie-knife and two pistols stuck in his belt. He, he!” “He must be a blockhead,” said Chet, in disgust. “What does he think Silver Run is?” “Well, I tell you,” proceeded Digby, “it’s partly my fault. At first I told him the truth—that we had churches and schools and a circulating library, and folks took a bath Saturday nights, if they didn’t oftener, and wore boiled shirts on Sunday; and that a man who wore a pistol in his belt would be taken in by the constable and examined as to his sanity. “But that didn’t suit Tom—oh, no! He said he knew I was kidding him.” “He did?” “That’s what! So I got sick of being disbelieved, and I began to write him the sort of stuff he wanted. I told him about the Comanches attacking the town and we beating ’em off with great slaughter.”
  • 44. “Dig Fordham! How could you? Why, we haven’t seen a bad Indian in years.” “Never mind. That’s what Tom wanted me to tell him. I told him all the miners wore red flannel shirts, and went about with their pants tucked into their boot-tops, and that they wore pistols in their belts, and bowie-knives in their boots— By the way, Chet; what is a bowie- knife?” Chet laughed. “A kind of long-bladed hunting knife, ground to an edge on both sides of the point, and invented by Colonel James Bowie, of Texas. I got that out of an encyclopaedia.” “Well, Tom knows all about ’em. I hope he comes out here some time, togged up in the way he thinks we dress at Silver Run. If he does, I know he’d scare a corral full of ponies into fits!” and Dig went off into another spasm of laughter. The boys had gotten off the subject of the strange buffalo herd that had appeared on the open plains between Silver Run and Grub Stake, a second silver mining town, deeper in the Rockies. Before Dig recovered from his laughter at his own humorous conception of his cousin’s appearance at Silver Run, Chet started up into a listening attitude. “What you cocking your ears for, Chet?” demanded Dig. “What’s got you?” “Who’s this coming?” demanded Chet, holding up his hand. When the boys were silent they could hear the pounding of heavily shod feet on the hard road. The Havens lived on the outskirts of Silver Run, and the road to the mines passed by their corral fence. Chet sprang up, and even the slower Digby showed interest. The pounding feet were coming rapidly nearer. The boys ran around the corner of the high board fence to the edge of the road. There, coming down the hill, and out from the belt of timber that surrounded the mountain above the town, was a man in yellow overalls and cowhide boots. He was without a cap, his shirt
  • 45. was open at the throat, and every indication about him showed excitement. “Goodness!” gasped Chet. “What can that mean?” “It’s Dan Gubbins—and he’s so scared he can’t shut his mouth!” observed Dig. This seemed true. Dan Gubbins ran with his mouth wide open and fear expressed unmistakably in his rugged features. He was one of the men working in the mine in which Mr. Havens and Mr. Fordham were interested. “Hey, Dan! what’s the matter?” shouted Dig, as the big miner came closer. “She’s caved!” croaked the man, his throat so dry he could scarcely speak. “Who’s caved?” demanded Dig. “What’s caved?” asked Chet, better understanding the vernacular. “The Silent Sue! She slumped in like rotten ice in February!” gasped the big miner, leaning against the fence near the boys. “Oh, my Jimminy! It’s awful!” Chet turned pale. Dig reddened and gulped back a sob with difficulty. “You—you don’t mean the mine’s all caved in?” stammered the latter. “The shaft,” replied Dan. Chet, the practical, demanded: “How many are caught in the cave-in?” “There’s five down there, besides—” Dan halted and stared at the boy with sudden apprehension. Then, after a moment, he whispered: “My golly, Chet! whatever am I to tell your mother? Yer dad’s down there with ’em!”
  • 46. “Father!” exclaimed Chet, seizing Dig’s hand. “Is my father in it too?” cried Dig, ready to burst into tears. “Mr. Fordham warn’t there noways,” said Dan, getting his breath and able now to speak more intelligibly. “Whatever am I to tell your mother, Chet?” he repeated. “You won’t say anything to her, Dan,” replied the boy, firmly. “I’ll tell her myself. But give me the particulars. We want to know how it happened. Isn’t there any hope? Can’t we get at them down there?” “Dunno,” returned the miner. “Rafe Peters is in charge, and they are digging like prairie-dogs to get down into the gallery. Everybody down there is all right so fur. Ye see, it was like this: There was a blast goin’ to be shot in Number Two tunnel. Ye know where that run to?” Chet nodded. “Over toward the old Crayton Shaft—that’s open now —on the other side of the mountain. Father was saying the other day that the Silent Sue’s Number Two must be getting pretty near the old diggings.” “That’s it,” said Dan Gubbins, nodding, and wiping his moist forehead with the back of a hairy hand. “Well, they got ready that shot, which was a heavy one. The timbering of the lower part of the shaft didn’t suit Mr. Havens and he told Tony to put in new cross- braces and some new planks.” “Tony Traddles?” demanded Chet. “Yes. An’ he oughter be jailed for what he done,” added the miner, bitterly. “How was that?” queried Digby, his eyes big with interest. “Mr. Havens,” pursued the miner, “went down to see that all was clear in the tunnel before the shot. He sings out to Tony and asks if the timbering was all right; and the lazy rascal said ’twas.” “And wasn’t it?” snapped Chet, his eyes blazing.
  • 47. “No. He’d come up to fill and light his pipe and hadn’t blocked and wedged his cross-beams. There was five of the boys ’sides your father in the tunnel, and when the shot went off the shoring at the bottom of the shaft shook right out and she caved in! It was awful! I wonder you didn’t hear the rumble of it. And what I’m goin’ ter say ter your mother, Chet—” “You’re going to say nothing to her, Dan,” repeated the boy. “I’ll tell her. You go and get a doctor, or two, Dan—and all the other help you can. You saddle Hero and Poke, Dig. We must get up to the mine in a hurry. I won’t be in the house long.” He turned quickly away and started for the back door of his home. The others did not see his face.
  • 48. CHAPTER II—AT THE SILENT SUE Those few yards between the corral and the back door of the Havens’ pretty home in the Silver Run suburb were the hardest steps Chet had ever taken. For his age he was naturally a thoughtful boy, and he had been impressed by the manner in which his father ever shielded the delicate, gentle mother from all the rough things of life. If there was an accident in the mine, Mr. Havens seldom mentioned it before his wife, and never did he repeat the particulars. Chet had seen and understood. He knew that his mother was not to be troubled by ordinary things if it could be helped. Of course, she must know of his father’s danger; but the news must be broken to her carefully. He could not allow rough but kind-hearted Dan Gubbins to go in with his story of the accident at the Silent Sue claim. As he entered the sewing-room where his mother was engaged at her work, she looked up with a little smile on her face. “What’s wanted, Chetwood?” she asked. She was a small woman, with a very delicate pink flush in her cheeks and bands of prematurely grey hair above her forehead and over the tops of her ears. Chet often said, laughingly, that if he ever wanted to marry a girl, he’d wait to find one who wore her hair just like his mother wore hers. “What’s wanted, Chetwood?” she repeated, as the boy remained silent after quietly closing the door. Then she saw his troubled face and the work on which she was busied fell from her hands and, from her lap, slipped to the floor as she slowly rose. “Chetwood! My son! your father—?” Her cry was low, but it thrilled Chet to the heart. He sprang forward to seize her shaking hands. He knew that she was ever fearful when
  • 49. Mr. Havens was in the mine. “It’s not so bad as all that, Mother! Wait! don’t believe the worst!” begged the boy, his voice choked with emotion. “He—he isn’t killed?” “Not a bit of it! There’s been a—a little accident. Father is down there with some of the other men.” “Down where?” she asked sharply. “In Number Two drift. There was a cave-in. Of course they’ll get them out. Old Rafe Peters is on the job already with a gang. I’m going right up there.” “Oh, Chet! Are you sure that is all? They are still alive?” “Of course!” cried the boy, with strong conviction and even calling up a smile. “Dan Gubbins came down to bring the news and get some more men. Dig and I are going to ride right up.” “Where is Digby’s father?” queried Mrs. Havens anxiously. “He didn’t happen to be there when the cave-in took place. But he’s probably there now. We’ll get at them all right. Don’t you fear, Mother.” “Oh, but my son! I shall be fearful indeed until I know your father is safe. I am always afraid when he is in the mine. The men take such chances!” “Well, the Silent Sue has not recorded many accidents. Father and Dig’s father are both very careful. Now, Mother, don’t worry any more than you can help. I’ll send down word just as soon as we know anything for sure.” He kissed her—and kissed her cheerfully. That was the hardest part of his mission, for he, too, was greatly worried. Then he seized his cap and quirt and hurried out to the corral. Dig Fordham had, for once, been prompt. He held Chet’s handsome bay, Hero, by the bridle, while his own sleepy-looking, Roman-nosed Poke was cropping grass at the edge of the road.
  • 50. “Come on, Dig!” Chet cried, hastily jerking the reins from his chum’s hand. “We must hurry.” “Did you tell her?” whispered his chum, awe-struck. “All she needed to know now,” snapped back Chet. “Look alive!” He was astride of Hero in a moment and the noble animal took the trail without urging. Dig whistled for Poke. Then he whistled again. The ugly, sleepy-looking animal stopped for just one more bite. “Isn’t that just like you, you ornery brute!” growled Digby. “If ever I wanted you in a hurry you wouldn’t mind. Come on!” He jumped for the horse, caught at the trailing bridle, and Poke stood on his hind legs and pawed the air, his eyes suddenly afire, striving to wheel about and escape Dig’s clutching hand. Digby Fordham wasn’t afraid of any horse. He sprang right in under the pawing hoofs, and seized the dangling reins. His hold was secure; his wrist firm. At his first jerk Poke’s head came down and, naturally, the horse’s forefeet as well. The instant the hoofs struck the ground, and before Poke could begin any further display of antics, Dig was in the saddle. Chet, looking back over his shoulder as Hero set the pace up the mountain, saw that his chum was securely astride Poke. Give Dig both feet in the stirrups, and no horse living could dismount him. He rode as though he were a part of the horse. Digby and Poke were not always in accord, but Poke was tireless and carried the heavy boy as though he were a feather-weight. Poke could go without food and water much longer than most mountain- bred mustangs. Dig declared there must be a strain of camel in him. But there was not an attractive thing about the brute, either in temper or appearance. In a minute he was neck and neck with Hero, and both horses were carrying their young masters up the slope at a fast pace. Dig grumbled:
  • 51. “This old rascal always cuts up when I want him in a hurry. I’m going to trade him off for a horned toad, and then use the toad for a currycomb. Your Hero is a regular lady’s horse ’side o’ him.” “You know you wouldn’t take any money for old Poke,” returned Chet, reaching out and smiting the black across his ugly nose with his own palm. “Why do you give him a chance to get away from you?” “Because hope springs eternal in my breast,” declared Dig, who would joke under any and all circumstances. “I’m always hopin’ I’ve got the rascal broken of his bad habits.” Chet was not in a mood for laughter; nor was his chum careless of thought. He really hoped to get Chet’s mind off the mine accident. It might not be anywhere near so bad as Dan Gubbins had said. Mining at Silver Run was now carried on with much more care for human life than it had been when the claims were first staked out and the original owners had begun to get out “pay dirt.” Mr. Havens was a practical engineer, a graduate from a College of Mines, and with a long experience at other diggings before he had obtained a controlling interest in the Silent Sue. It was a mine the stock of which had never been exploited in the eastern market. Mr. Fordham and Mr. Havens had always been able to obtain sufficient capital to buy machinery and improve their methods of getting out the ore; and they found the Silent Sue too steadily productive to need any other partners. Mr. Havens owned, also, a second claim near the first that might some day develop into a rich one. When the two chums rode up to the collection of rude miners’ cabins, sheds, the stamp-mill, and other shanties that surrounded the mouth of the mine-shaft, they found a crowd already gathered. Men and women alike were commingling excitedly about the shaft in which the rescue party was at work.
  • 52. A big, bushy-whiskered man in yellow overalls and a tarpaulin hat was urging on the workers, and trying to keep the women and children back from the open mouth of the pit. “Oh, Rafe!” cried Chet, throwing himself out of the saddle and running up to the mine boss. “Are they down there yet?” “They’re all right so fur, Chet,” declared the man. “Can you get them out?” “I kin try—and that’s what I’m doin’,” the mine boss said huskily. “Thirty foot of the bottom of the shaft’s caved in. It’s caved from all four sides. We’re diggin’ out the earth and rubbage and sendin’ it up by the bucket-load. Fast as we kin, we’re replacin’ the timbering. That’s the best we can do.” Chet had a quick mind and he knew a good deal about such accidents, although there had been nothing like this at the Silent Sue since he could remember. “You can’t work a big gang in the shaft, Rafe,” he said anxiously. “How long will it take ’em to get down to the bottom and into the side tunnels?” “I dunno, boy, I dunno,” the old man said, plainly worried. “But we’re workin’ jest as fast as ever we can. I’m shiftin’ the men ev’ry two hours and they’re all puttin’ in their very best licks.” “You haven’t heard—heard from fa-father?” gasped Chet, trying to control his voice. “Golly! No, boy!” exclaimed the mine boss. “Thar’s thirty foot of rubbage, I tell yer, at the bottom of the shaft. If they was hollerin’ their heads off we wouldn’t hear ’em yet. The fall of earth and stuff is packed like iron.” “Oh, it’ll be all right, Chet! It’ll be all right,” urged his chum, who had come up after hitching the two mustangs. Dig’s father had not as yet arrived. Nobody seemed to have much head about him but old Rafe. But perhaps nobody could do much.
  • 53. Chet stared at his chum and the mine boss hopelessly. “Why, see!” he gasped. “It may be a week before you can clear the bottom of that shaft—it may be longer! What will father—and the others—do all that time? Oh, Dig! it’s awful—it’s awful! They’ll starve to death!” “Whew! I hadn’t thought of that,” muttered Digby Fordham. Old Rafe Peters shook his head. He was keeping his eyes on the buckets of “rubbage,” as he called it, that were being swiftly brought to the surface by the steam winch. He had excavated the lower end of the shaft himself and he knew the strata of earth through which it passed. By the colour of that which came up in the buckets, he knew the diggers had not gone far as yet. One bucket went down as the other came up. It was not down three minutes before the signal rang for it to be hoisted again. But thousands upon thousands of buckets of debris would have to be hoisted out of the shaft ere the way would be opened into tunnel Number Two, lower level, in which Mr. Havens and the miners were entombed.
  • 54. CHAPTER III—THE LAME INDIAN The five men shut in the mine with Chet’s father were all married and their wives and children made the noisiest group of all at the mouth of the Silent Sue mine. The rough men standing about tried to comfort them; but there was not much of a comforting nature to say. There were plenty of men for the work of rescue; indeed, there were so many in each two-hour shift that they got in each other’s way. Chet Havens had put the situation concisely and to the point: It would take more than a week to dig down to the opening of Number Two tunnel; meanwhile, how would the entombed miners live without food or water? Mr. Fordham had not returned and there was nobody for the two boys to confer with. The mine foreman was doing all that seemed possible. It was a question whether what he did was of much use. Six men in a stoppered tunnel, with no ventilation and nothing to eat or drink, were not going to live long. Chet doubted if any of them would be alive at the week’s end. “Wait till father comes,” Dig said, almost sobbing, and seeing how badly his chum felt. “Perhaps he’ll know some other way to get into that drift.” “What way?” demanded Chet. “He doesn’t know any more about the mine than we do.” “Maybe from the old upper level—” “Bah! you know better,” Chet said sharply. “The pay-streak they followed first in this mine is only fifty feet down. It petered out before your father and mine bought into the Silent Sue—you know that, Dig.
  • 55. “No chance! The two levels have never been connected, save by the shaft itself. Your father can’t dig any faster than these men are digging. If there were only a way— “Say, Dig! there’s the Crayton Shaft. Don’t you remember it? Father told me the Number Two tunnel on the lower level was pretty close to the old Crayton diggings. He always said that if the Crayton people had kept on, they’d have struck pay-ore again. But they got cold feet and father bought a share in the claim cheap. Now there’s been a fellow around after it. I heard father talking about it.” “What good will it do to go down the Crayton shaft?” demanded Dig hopelessly. “I don’t know—I don’t know,” admitted Chet. “But I can’t stand here idle. I’ll go crazy—crazy! I must do something! Maybe the wall between the tunnel of the Crayton mine and our Number Two is not very thick. I’ve got a compass, and I know this hill like a book. So do you. Let’s take a pick and shovel and ride over there.” “Oh, Chet! I’m afraid you’re stirring yourself all up over nothing,” returned his chum. “I’ll help you, of course; but I’m afraid it won’t help us any to go over there.” “We’ll not know till we try.” “Will you take some of the men to help us?” “Two can do all that can be done,” answered Chet, rather shrinking from taking even Rafe Peters into his confidence. It seemed such a forlorn hope! “If the blast went off at the end of the tunnel, it’ll be full of rubbish and take a lot of digging to get through it.” “No. Our tunnel isn’t going head-on into the Crayton drift. I understood father to say that Number Two tunnel passed the old diggings by. My goodness! if he only remembers it, and knows just where the Crayton tunnel is, maybe he and the boys will start digging that way at once. Come on, Dig! Let’s ride over.”
  • 56. Chet ran to the tool shed and seized a pick and shovel; the latter he tossed to his chum and then sprang astride Hero with the pick in his hand. This time his friend had no trouble in getting Poke, for he had fastened that uneasy animal. There was so much excitement around the mouth of the shaft that nobody noticed the two boys riding away into the woods trail. They knew the way perfectly. Indeed, there were not many trails in the vicinity of Silver Run and the mountain that towered over it which were not familiar to Chet Havens and Dig Fordham. This mountain had been deeply scarred by the miners of the old days. One side of the hill had been eaten away by the hydraulic mining which was carried on when gold was first discovered here. How much of the rich silver ore, which the early prospectors did not recognise, had been wasted in the first excitement of finding gold, will never be known. For this really was a hill of silver. The veins of ore streaked it like the arteries in a human body. The Silent Sue claim chanced to contain seemingly exhaustless veins; while the old Crayton mine soon petered out. Once the wall of the forest had shut out the view of the shaft buildings, the boys were likewise out of sight of all human habitations. The old trail was rough and in places washed away, or filled up with leaves or other litter. Now and again as they rode along they came to deep excavations in the hillside, old pits which had been abandoned almost as soon as dug. There was neither gold nor silver in these places, although the indications on the surface had toled the early miners on to make the excavations. At first the prospectors had been after gold, and gold alone. The gold dust was mixed with a black, rotten ore that the early miners did not recognise as sulphuret of silver, which is nothing more than the pure metal in a decomposed state. The prospectors complained loudly of the “nuisance” of this black stuff. It was worse than the
  • 57. black sand found always in gold diggings, for such sand does not interfere with the amalgamation of the gold ore. This “black stuff” interfered with the mining of gold, and the diggings got a bad name because of it. It was some years after the cessation of gold digging in the mountain above Silver Run (which was not then on the map) that the nature of this rotten silver ore began to be understood. The Comstock Lode had then excited world-wide attention, and men who had been among those who had worked the claims on this mountain remembered that the same kind of ore that proved so rich in the Comstock claim had been thrown aside and anathematised by the miners in these old diggings. So there was another “rush.” Silver Run was established. In some relocated claims the silver ore was seen to be almost inexhaustible, as in the Silent Sue, the mine owned by the fathers of Chet and Digby. Silver Run had become a town of some importance. There were other industries besides mining. It was a well governed town, and although on the verge of the wilderness it had easy communication with cities in a more advanced state of civilisation. When the boys were about two miles from the Silent Sue mine, they came upon one of the abandoned camps. There was little left to mark its occupancy by the prospectors of the old regime save several caved-in shafts and some rusted, corrugated-iron shacks. From the rusty stove-pipe chimney of one of these, smoke was curling, and Digby said: “I bet that’s where the lame Indian hangs out. You know, he’s old Scarface’s grandson.” “I know. John Peep. That’s what the boys used to call him when he came to school.” “You don’t want to call him that to his face,” chuckled Dig. “It makes him madder’n a hen on a hot skillet. He’s got some fancy Indian name that he prefers to be called by. Oh, he’s a reg’lar blanket
  • 58. Indian—and Scarface does odd jobs of cleaning out cellars and whitewashing!” “Poor fellow!” said Chet, scarcely giving his mind to the matter of the Indian youth. “It must be tough to limp around on a game leg. One’s shorter than the other. You don’t often hear of a lame Indian.” “No. Father says that in the old days if an Indian baby was born deformed they got rid of it right away. And when Indians used to fight they fought so hard that they usually killed each other. That’s why there were seldom cripples among them. “But this chap—Ah! there he is.” A figure appeared at the open door of the shack. It was that of a tall, slim boy, very dark, with red under the skin on his cheekbones, and straight, long black hair. His “scalp lock” was braided; the rest of the hair was well greased and hung to his shoulders. The shoulders of the Indian youth were bare. Indeed, he wore nothing at all in the way of a garment above his waist. Dig waved his hand to the Indian, and shouted: “Hello, John! You livin’ up here all alone?” The Indian youth made no immediate reply, but walked out to the trail on which the boys were riding. Chet was impatient of delay, but Dig pulled in his horse. The lame boy stepped between the chums and Chet looked back, restraining Hero. “What are you boys doing up this way?” asked John. “We’re in a hurry,” said Chet quickly. “Going over to the Crayton shaft.” “What for?” “Say! you’re kind of nosey, I think,” said Dig frankly. “What do you want to know for?” But John Peep was looking at Chet and seemed to expect his answer to come from that individual.
  • 59. “There’s been an accident at the shaft of my father’s mine,” Chet said. “There is a cave-in, and my father and five other men are shut down in the mine. We’re going to see if we can’t get into the Silent Sue mine from the old Crayton shaft. You know the Crayton shaft, John?” “I know,” said the Indian boy, nodding. “You can’t get down there.” “Why can’t we?” cried Dig explosively. “You don’t know what you’re talking about!” “You can’t get down there,” repeated the lame Indian, but stepping out of the way when Dig urged Poke along the trail. “Why not?” asked Chet again. “You can’t get down there,” said the Indian for a third time, and then he turned and hobbled back toward the shack. “You can’t get any sense out of him,” grumbled Dig, in disgust. “He’s got some bug in his head. Maybe he thinks this whole mountain belongs to him because it used to belong to his tribe. Old Scarface told me this mountain was ‘bad medicine’ and nobody used to come here but the Indian medicine men in the old days. You couldn’t hire Scarface to come up here.” The two white boys were riding steadily on over the rough trail. Chet kept looking back at the abandoned camp, for he was puzzled. He wondered what John Peep could have meant. “There!” he exclaimed suddenly. “See that?” “See what?” demanded his chum, twisting his neck in order to look behind him. “There’s a man with that fellow—a white man.” “With the lame Indian?” queried Digby. “Why, so there is! Funny! Can’t be one of the boys following us?” “Of course not. Nobody could follow us so fast on foot. There! They are staring after us. I never saw that man before; did you?”
  • 60. “I don’t remember. He’s not a miner—or, he isn’t in working togs. Give it up, Chet.” So did Chet. He had something much more important to think of. While the men at the shaft of the Silent Sue were endeavouring to hoist out the rubbish that had fallen into the bottom of the shaft, the young chap believed there was a better chance to get into the lower tunnel of the mine by following the old drift of the abandoned diggings. In half an hour the two lads reached the mouth of the Crayton shaft. Neither of the boys had been this way for a year. Something had happened since their last visit to the spot. The old log windlass was overturned, and when they left their horses and ran to the mouth of the shaft they saw that a part of the shoring had given way and hundreds of tons of earth and rock had fallen into the pit, completely choking the way to the old mine.
  • 61. CHAPTER IV—THE ROCKING STONE “On, Chet!” gasped Digby Fordham. “This is awful! Isn’t there any other old mine that touches the Silent Sue’s tunnels?” “Not that I ever heard of,” replied his chum seriously. “This was only a chance, of course; but father spoke of this old mine so recently—” Chet was staring about the opening in the forest. Like the place at which they had seen the lame Indian boy, it was an abandoned camp. Several other claims had been worked here; but the shafts of the other mines had caved in years and years before. There was something peculiar about the filling-in of the Crayton shaft. Chet began to scrutinise the vicinity—as Dig said, “sniffing around like a hound on a cold scent.” “No, sir!” muttered Chet. “It is not a cold scent.” “Heh?” growled Digby. “There’s been somebody here lately.” “Well?” “Here’s a campfire—fresh ashes. It rained three days ago. These ashes are perfectly dry and feathery. Never have been rained on.” “Quite true! Good for ‘Trailer Joe, the Young Scout of the Rockies,’” chuckled Dig. “That’s all right. You can laugh,” said his chum. “But I haven’t forgotten the things old Rafe has told us when we have been out hunting. It’s well to remember such things.” “But what’s the good now?” demanded Dig. “We can’t get into the mine, and it doesn’t matter who was here before us. Unless you think there’s somebody gone down this shaft and the cave-in’s shut them down there,” he added quickly.
  • 62. Welcome to our website – the ideal destination for book lovers and knowledge seekers. With a mission to inspire endlessly, we offer a vast collection of books, ranging from classic literary works to specialized publications, self-development books, and children's literature. Each book is a new journey of discovery, expanding knowledge and enriching the soul of the reade Our website is not just a platform for buying books, but a bridge connecting readers to the timeless values of culture and wisdom. With an elegant, user-friendly interface and an intelligent search system, we are committed to providing a quick and convenient shopping experience. Additionally, our special promotions and home delivery services ensure that you save time and fully enjoy the joy of reading. Let us accompany you on the journey of exploring knowledge and personal growth! textbookfull.com