...
The type is bound to the object. Therefore, the type of containers can change. An
imperfect rule of thumb is that static languages force you to declare variables, but
dynamic languages ... different, and convert objects that aren't. The
extra syntax provides valuethe compiler has more information to catch bugs
earlier. There's a cost, too. Static typing makes you work harder...
... same syntactic sugar for hashes as for arrays.
Code blocks make iteration tighter and easier.
If you're a big Java collections user who's used a dynamic language before, you
probably ... 10) = = = 5
=> true
You get more convenient syntactic sugar. Now, a for loop turns into this:
irb(main):021:0> for c in 'g' 'k'
irb(main):022:1> puts...
...
always take lessons learned into account),
partially due to a lack of performance tuning
on the original stack, but mostly due to the
fact that the performance gains with Rails are
easy to achieve. ...
surprised at the level of performance I was
able to achieve. The Rails version of the app
was fast, and faster even than the original
Java version. That's partially due to a bette...
... approach often makes it much easier to design and
refactor complex web screens. For example, here's the rendering for the shopping
cart:
html divNamed: 'cart' with: [
html small: ...
block, so links don't get out of sync. The framework manages them for you.
Seaside is modal. This is the author's word for a continuation server
ap
proach. Seaside lets...
... the primary reasons for its success, but sometimes
also a formidable source of headaches because of the complexity of certain parts of
the language. For instance, the rules for numeric conversions ... the resource still exists. If it doesn't,
accessing it wreaks havoc. With weak_ptrs, the information that the shared
resource has been destroyed is propagated to all weak_ptrs o...
... to perform text substitutions. It searches through the input data,
finding all matches to the regular expression. For each match of the expression, the
algorithm calls match_results::format ... calling regex_replace, we are expected to provide a format string as an
argument. This format string determines how the substitution will work. In the
format string, it's possible to refer t...
... contains the definition for the exception class bad_visit.
"boost/variant/static_visitor.hpp"
contains the definition for the visitor class template.
The following partial synopsis covers ...
variant types, only in the form of unions, that exist mainly for C compatibility.
Boost.Variant remedies the situation through a class template variant, and
accompanying tools for...
... already encoded in the type of the container,
and redundant information of this kind is typically unnecessary for modern
libraries).
std: :for_ each(
p_statuses.begin(),
p_statuses.end(),
boost::bind(&status::report,_1)); ... intimidating at first, and by all rights it is
because we have yet to define part of the machinery. However, the part to focus on
here is where th...
... produce,
and they provide only argument binding, not bindings for expressions. Given that
both flexible support for binding arguments and for creating function objects
directly from expressions ... constructs (for example, while_loop and for_ loop).
"boost/lambda/switch.hpp"
defines the lambda equivalent of switch statements.
"boost/lambda/construct.hpp"
def...
... [aCircle center];
Section 1.10 gives more information about the -perform: methods.
1.3.6 Categories
Objective-C provides the category construct for modifying an existing class "in
place." ... you have an implementation section for
your category and omit any methods. If you have no implementation at all for a
category, this is called declaring an informal protocol. Sect...
... typefaces are used in the book.
HelveticaNarrow is used for program listings, for terms used in programs, and
for words defined by the C++ language. Italics are used primarily for technical
terms ... Regents of this society, and am responsible for the
This book is dedicated to Susan Patricia Caffee Heller, the light of my life.
Without her, this book would not be what it...
...
structure, we can go on to the PriceFile structure, which is used to keep track
of the data for a particular price file.
8
The best way to learn about this structure is
to follow the program ... we have to read
a particular record from the disk or can retrieve a copy of it from the cache instead.
When execution starts, we don't have any records cached; therefore, we initialize .....
... final result we want is for all the A's to come before all the B's,
which must precede all the C's, etc., but within the A's, the AA's must come before
the AB's, ... position. Therefore,
all AA keys precede all AB keys, which precede all AC keys, and the same is true
for BA, BB, BC and CA, CB, and CC as well. This is the exact arrangement of
input needed...
... sure that all of the
remaining information is encoded in the output stream.
Summary
In this chapter, we have seen an example of how intelligent encoding of
information can pack a lot of data ... this particular adjustment.
17. The proof of this is left to the reader as an exercise; see the problems at the
end of the chapter.
18. You may be wondering what happened to the remaining...
... that it defines a number of
functions that application programmers have no need for. These functions are
intended for use by other classes that contribute to the functionality of the
quantum ... quantum file. In order to facilitate reconstruction of the file if part of the
IRA is lost, we won't use the same quantum for items from two different arrays; as
a result, the space f...