c# pdf viewer open source : How to reorder pages in pdf online software control project winforms web page wpf UWP World%20of%20Warcraft%20Programming%20(2nd%20Edition)6-part1860

Chapter 2
Exploring Lua Basics
19
The rest of the error message is called a stack traceback, which tells you
where theerroroccurred.This will be useful when youbegin calling functions
from other functions.
Using History to Make Changes
Depending on the Lua interpreter you are using, you may be able to view
the recent command-line history (the last few commands you’ve given the
interpreter) by pressing the Up and Down arrow keys. Test this now by
pressing the Up arrow key on your keyboard while in your Lua interpreter.
(This always works in WowLua, but may not work correctly if you are using
astandalone version of Lua.)
If it worked correctly, youshould see the last line youtyped (
prnit(“Hello
Azeroth!“)
)and yourcursor should be at the endof the line. If it didn’twork,
you may instead see something similar to the following:
> ˆ[[A
That simply means your specific interpreter doesn’t handle history.
Although you may find this inconvenient at times, it certainly shouldn’t
hamper your capability to run through the examples correctly.
Quitting the Interpreter
When you are done running code in the interpreter, in most cases, you can
simply close the window. However, if you started the interpreter from a
command line and want to return to it, you can use one of the following
methods, depending on your operating system.
Microsoft Windows
On a Microsoft Windows system, Lua can be closed by pressing Ctrl+Z. This
inserts the following into your interpreter:
> ˆZ
In Windows this inserts a special character that means end-of-file, and it
causes the interpreter to quit. You can also press Ctrl+C to outright kill your
session.
Mac OS X
Mac OS X is a UNIX-based system, so the end-of-file character is different
from that of the Windows systems. At your prompt, press Ctrl+D to insert
the end-of-file character and end the session immediately. You can also use
Ctrl+C to kill the session.
How to reorder pages in pdf online - re-order PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Customizing Page Order of PDF Document in C# Project
pdf change page order online; reordering pages in pdf document
How to reorder pages in pdf online - VB.NET PDF Page Move Library: re-order PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sort PDF Document Pages Using VB.NET Demo Code
pdf reorder pages online; reorder pages in pdf file
20
Part I
Learning to Program
Working with Numbers
Almost every language has a way to calculate numeric values, and Lua is no
different. Type the following into your interpreter:
> print(2 + 2)
As expected, you will see
4
as the response followed by another prompt.
Although it may not be the most convenient calculator, the interpreter does
enable you to perform calculations in your programs.
Basic Arithmetic Operations
Table 2-1 shows Lua’s basic arithmetic operators. You can use any of them to
compute a value.
Table 2-1: Lua Arithmetic Operators
OPERATION
IN LUA
EXAMPLE
RESULT
Addition
+
> print(4 + 4)
8
Subtraction
-
> print(6 - 10)
-4
Multiplication
*
> print(13 * 13)
169
Division
/
> print(10 / 2)
5
Exponentiation
ˆ
> print(13 ˆ 2)
169
Modulo
%
> print(8 % 3)
2
Unary Negation
-
> print(- (4 + 4))
-8
In addition to these operators, youcan useparentheses to groupexpressions
together to make more complex expressions.Consider the following example:
> print(2 * (1 + 2 + 3) ˆ 3)
432
If you run this command with no parentheses in the expression itself, you
get an entirely different answer:
> print(2 * 1 + 2 + 3
ˆ
3)
31
Parentheses are used to make an expression explicit and ensure that it
is evaluated properly. In the second case, the exponentiation operator is
C# TIFF: How to Reorder, Rearrange & Sort TIFF Pages Using C# Code
Reorder, Rearrange and Sort TIFF Document Pages in C#.NET Application. C# TIFF Page Sorting Overview. Reorder TIFF Pages in C#.NET Application.
move pdf pages; switch page order pdf
VB.NET PowerPoint: Sort and Reorder PowerPoint Slides by Using VB.
Sort and Reorder PowerPoint Slides Range with VB amount of robust PPT slides/pages editing methods powerful & profession imaging controls, PDF document, image
rearrange pages in pdf; pdf reverse page order preview
Chapter 2
Exploring Lua Basics
21
processed first, followed by the multiplication operator and then the addition
operator, giving you the equivalent formula:
> print(2 + 2 + 27)
When in doubt, make your math explicit so it is easier to read when review
is neededin the future.
Scientific Notation
Occasionally, you’ll encounter an extremely large number such as
10,000,000,000,000,000 (10 ˆ 15). Rather than type it out each time with zeros
or use parentheses to make sure it’s being calculated correctly inside another
formula, you can use scientific notation. Lua may automatically display large
numbers using scientific notation if printing them would be unwieldy. Run
the following commands:
> print(10 ˆ 15)
1e+015
> print(10 ˆ -15)
1e-015
As you can see, Lua converts the numbers to scientific notation for the
purpose of printing them. Conveniently, you can also write numbers in
this fashion, which takes the first number and multiplies it by 10 raised to
the second number (the
e
in between can be capitalized or lowercase). For
example:
> print(1.23456e5)
123456
> print(1.23456 * (10
ˆ
5))
123456
> print(1234e-4)
0.1234
> print(1234 * (10 ˆ -4))
0.1234
You may not encounter numbers in scientific notation often, but under-
standing the output when Lua sends it back to you is important.
Hexadecimal Notation
Lua can natively convert a number in hexadecimal notation to the decimal
value. You can use this as a quick hex-to-decimal conversion, or you may
actuallyhave a needtousehexadecimal notation in yoursystems. Lua expects
azero, followed by the letter
x
,followed by a string of valid hex digits (0–9,
A–F, a–f).
Read PDF in Web Image Viewer| Online Tutorials
"This online guide content is Out Dated! Extract images from PDF documents; Add, reorder pages in PDF files; Save and print PDF as you wish;
change page order in pdf online; how to rearrange pdf pages online
C# PDF: C# Code to Process PDF Document Page Using C#.NET PDF
C# PDF Page Processing: Sort PDF Pages - online C#.NET tutorial page for how to reorder, sort, reorganize or re-arrange PDF document files using C#.NET code.
move pages in pdf online; reorder pages in pdf reader
22
Part I
Learning to Program
> print(0x1)
1
> print(0xF)
15
> print(0x10)
16
> print(0x10a4)
4260
When writing code, you can refer to numbers in this format and Lua will
convert them properly. As you can see from these examples, however, Lua
only responds in decimal or scientific notation, regardlessof how the numbers
were input.
> print(2 * 0xF)
30
> print(0x10 ˆ 2)
256
Understanding Floating Point
Every number in a standard Lua system is represented internally as a
floating-point number. For average use this won’t make a difference, but
it can have some odd implications. Here’s a simple (but confusing) example,
which uses some concepts thatyou won’t examine until later in this section of
the book:
> pointTwo = 1.2 - 1.0
> print(pointTwo < 0.2)
true
> print(pointTwo)
0.2
Thenumber
0.2
cannotbeaccuratelyrepresentedasafloating-pointnumber,
so the programming language must do a bit of rounding when calculating
the value, and then again when printing it. The floating-point numbers
in Lua can accurately represent any integer from 10 ˆ –37 through 10 ˆ 37,
so you shouldn’t encounter many of these problems. This rounding can,
however, serve as a source of calculation error when working with the real
numbers.
ON THE WEB
Much information regarding floating-point numbers and the implications
of the format exists out there on the Web. The following resources are all
extremely helpful if you’re interested in exploring the topic further:
(continued)
VB.NET TIFF: Modify TIFF File by Adding, Deleting & Sort TIFF
Users can use it to reorder TIFF pages in ''' &ltsummary> ''' Sort TIFF document pages in designed powerful & profession imaging controls, PDF document, image
move pages in pdf acrobat; reorder pdf pages in preview
C# PDF Page Rotate Library: rotate PDF page permanently in C#.net
Online C# class source codes enable the ability to rotate single NET, add new PDF page, delete certain PDF page, reorder existing PDF pages and split
reordering pages in pdf document; reordering pdf pages
Chapter 2
Exploring Lua Basics
23
ON THE WEB (continued)
http://wikipedia.org/wiki/Floating
point
http://docs.sun.com/source/806-3568/ncg
goldberg.html
http://lua-users.org/wiki/FloatingPoint
Understanding Values and Variables
Like most other languages, Lua makes a distinction between values (such
as the string
“Hello“
and the number
14
) and variables (or references).
Understanding the underlying types of values and the distinction between a
value and a variable can be helpful while programming.
Exploring Values and Their Types
Avalue is the actual thing that is used, such as the number
17
,or the string
“Hello“
.The number
14
is a different value from the number
27
,but they are
both number values. The string
“Hello“
is a value, but it is a different type of
valuethan the two numbers. (There’s nothing trickyor complex that youneed
to understand about values, I promise!)
There are eight primitive types in the Lua programming language and
every value you encounter will have one of them. You’ve already seen two
different types, number and string. The line between a string and number can
occasionally get blurry,such as drawing the distinction between the string
“4“
and the number
4
,but they remain discrete types.
Primitive Types
Table 2-2 describes Lua’s primitive types. Every value ends up being one of
these types, regardless of where it’s encountered in the language.
You will encounter each of these types through the course of your work, so
you should be aware of them.
Using the type() Function
Within Lua you can use the
type()
function to determine the type of a given
value, which gives you flexibility when it comes to validation and verification
in your programs. Type the following into your Lua interpreter:
> print(type(5))
number
C# Word: How to Create Word Document Viewer in C#.NET Imaging
Offer mature Word file page manipulation functions (add, delete & reorder pages) in document viewer; (Directly see online document viewer demo here.).
reorder pages in pdf document; move pdf pages in preview
VB.NET TIFF: VB.NET Sample Code to Process & Manage TIFF Page
certain TIFF page, and sort & reorder TIFF pages in Process TIFF Pages Independently in VB.NET Code. powerful & profession imaging controls, PDF document, image
rearrange pages in pdf; reorder pages pdf file
24
Part I
Learning to Program
Table 2-2: Lua’s Primitive Types
TYPE
DESCRIPTION
number
All numbers (including hexadecimal numbers and those using
scientific notation) have this type. Examples: 1, 7313, 1e5,
0xFFF1a
string
Asequence of characters. Examples: “Hello“, “Test String“.
boolean
The values true and false are of the boolean type.
function
Afunction is a collection of statements that can be called, and is
introduced in Chapter 3.
table
Atable is a mix between a traditional hash table (dictionary) and
an array.
nil
The value nil is of thespecial type nil.
thread
Avalue of the thread type is a coroutine (limited lightweight
thread) that can be used for asynchronous computation.
userdata
Userdata is traditionally a wrapper around some data structure
defined in the host language (usually C).
What you’ve done here is call the
type()
function with a value of
5
,and
call the
print()
function with that result (you explore functions further in
Chapter 3). The output shows that the type of the value
5
is
number
,as you’d
expect. Here are some other examples:
> print(type(“Hello Azeroth!“))
string
> print(type(2 * (1 + 2 + 3) ˆ 3))
number
> print(prnit)
nil
In the third example note the misspelling of the variable
prnit
.As you saw
earlier in this chapter, that is a
nil
value, so the type () function returns
nil
as
expected. You can always use the
type()
function to find out which type your
value is.
Using Variables
Avariable can be seen as a temporary name for a specific Lua value, with the
caveat that the same value may have multiple names. An example here will
be more telling than words,so type thefollowing into yourinterpreter (it may
not have output after each line, so just move on to the next line):
> x = 4
> y = 2
Chapter 2
Exploring Lua Basics
25
> print(x + y)
6
In this example, you take the name
x
andbind it to the value
4
;and bind the
name
y
to the value
2
.You then call the
print
function, and instead of using
the numbers
4
and
2
,youuse the names
x
and
y
.
Valid Variable Names
A variable’s name or identifier has to start with a letter or an underscore
character. The name cannot contain anything other than letters, numbers, or
the underscore character. In addition, it can’t be any of the keywords that are
reserved by Lua:
and
,
break
,
do
,
else
,
elseif
,
false
,
for
,
function
,
if
,
in
,
local
,
nil
,
not
,
or
,
repeat
,
return
,
then
,
true
,
until
,and
while
.A variable
name is also case-sensitive, so the character
a
is different from the character
A
,
meaning that the following are all different identifiers:
MyVariable
myVariable
myvariable
Assigning Variables
Use the assignment operator
=
to bind a value to a variable name, with the
variable nameontheleftandthevalueontheright.Try thefollowingexamples
in your Lua interpreter:
> foo = 14
> print(foo)
14
> foo = “Hello!“
> print(foo)
Hello!
The first example binds the value
14
to the identifier
foo
,and you can print
and use that variable instead of the value itself. The second binds the value
“Hello“
to the identifier, changing what the variable refers to.
Variables can be used on the right-hand side of an assignment operator
as well, and what happens in those situations is different depending on the
context. Try the following in your interpreter:
> x = 4
> y = x
> print(y)
4
> x = 3
> print(y)
4
26
Part I
Learning to Program
The first line simply binds the value
4
to the identifier
x
.The second line,
however, assigns the value bound to the identifier
x
to identifier
y
.This means
quite literally that both
x
and
y
are names for the same value (the number
4
).
As a result, when you run
x = 3
,you simply change that binding, leaving
y
intact.
TIP
The distinction between values and variables can be confusing, especially
when working through more advanced topics. Use the Lua interpreter as a tool to
explore the rules and better understand what’s happening.
Assigning Multiple Variables
On some occasions you will assign more than one variable at a time, and a
convenient short formmakes this easier. Run the following example:
> x, y = 3, 5
> print(x * y)
15
The assignment operator allows a list of variables on the left side and a list
of values on the right side. That’ll be a bit more useful when you get into
functions and return values. If there are more variables on the left side than
there are values on the right side, the remaining variables will be set to
nil
.
If there are more values on the right side, they will just be thrown away.
Comparing Values
In many cases, you will need to compare different values to see how they are
related. Several comparison operators (listed in Table 2-3) can be used.
Table 2-3: Comparison Operators
COMPARISON OPERATOR
EQUIVALENT LUA OPERATOR
equality
==
less than
<
greater than
>
less than, or equal
<=
greater than, or equal
>=
not equal
~=
Theseoperateexactlyasyou’dexpect,butyoucan playin theLuainterpreter
to better understand them. When you print the result of a comparison, it will
be of the
boolean
type (that is,
true
or
false
).
Chapter 2
Exploring Lua Basics
27
> print(1 == 1)
true
> print(1 < 3)
true
> print(1 > 3)
false
> print(2 <= 2)
true
> print(1 >= 3)
false
> print(1 ~= 3)
true
The equality operators (
==
and
~=
)can be used to compare any two values,
but the
<
,
>
,
<=
,and
>=
operatorscan only be usedwith values ofthesame type,
such as when comparing number tonumber or string to string; otherwise you
will get an error as follows:
> print(1 < “Hello“)
stdin:1: attempt to compare number with string
stack traceback:
stdin:1: in main chunk
[C]: ?
In other words, whereas the
==
and
~=
operators work for all values,the less
than/greater than (
<
and
>
)family of operators is only defined for numbers
and string values.
Working with Strings
You’ve already been introduced to the
string
type,and you’ve usedit to print
“Hello Azeroth!“
in the interpreter. In this section you examine strings in a
bit more detail.
Comparing Strings
The less than (<) and greaterthan (>) operators can be used on strings,butthe
resultdependson the way your systeminternally sorts the differentcharacters.
For single character comparisons, the operator compares the two characters’
order in the character set; for multiple character strings, it compares the order
of the first two differing characters. For example:
> print(“a“ < “b“)
true
> print(“d“ >= “c“)
28
Part I
Learning to Program
true
> print(“abcd“ < “abce“)
true
> print(“a“ < “A“)
false
> print(“abcd“ < “abcde“)
true
> print(“rests“ < “test“)
true
You may be surprised by the output from the fourth example. In the
standardLuacharacterset,uppercaseEnglishlettersprecedelowercaseletters,
so the string
“a“
is actually greater than the string
“A“
.In the fifth example,the
strings are identical until the first string runs out of characters. At this point,
Lua sees that the second string still has the letter
“e“
and returns that the
second is greater. However, in the final example, even though the first string
is longer than the second one, the letter
“r“
is less than the letter
“t“
,so the
whole string
“rests“
is less than
“test“
.
Concatenating Multiple Strings
Strings in Lua are immutable, which means they cannot be changed without
creating an entirely new string. To add to a string, you use the special
concatenation operator (
..
), which enables you to take two strings and fuse
them together to make a new, larger string. Here are a couple of examples:
> x = “Hello“
> y = “Azeroth“
> print(x .. y)
HelloAzeroth
> foo = “a“ .. “b“ .. “c“ .. “d“ .. “e“
> print(foo)
abcde
Converting Numbers to Strings
As you can imagine, sometimes you will need to convert from numbers to
strings and, in most cases, Lua handles this for you. Try the following:
> print(“Number: “ .. 4)
Number: 4
Lua automatically converts the number
4
to a string, and it’s added to the
string
“Number: “
.If you need to explicitly convert a number to a string, you
can use the
tostring()
function, as in the following example:
> x = 17
> foo = tostring(x)
> print(type(foo))
string
Documents you may be interested
Documents you may be interested