c# pdf viewer open source : Reorder pages in pdf online application SDK utility azure wpf asp.net visual studio World%20of%20Warcraft%20Programming%20(2nd%20Edition)9-part1893

Chapter 3
Basic Functions and Control Structures
49
Table 3-1 explains the different arguments that must be supplied to the
for
statement.
Table 3-1: Arguments for Numeric for Loop
ARGUMENT
DESCRIPTION
variablename
Avalid variable identifier, the counter variable
start_value
Anumber, the initial value of variablename
end_value
Anumber, the end value of the loop
step_value
The number by which to increment the counter after each loop
The following are examples of simple
for
loops:
> for i = 1, 3, 1 do
>> print(i)
>> end
1
2
3
> for i = 3, 1, -1 do
>> print(i)
>> end
3
2
1
Thesetwoloops translate (roughly) to the following code blocks using
while
loops:
do
local i = 1
while (i <= 3) do
print(i)
i = i + 1
end
end
and
do
local i = 3
while (i >= 1) do
print(i)
i = i - 1
end
end
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
reorder pdf pages online; how to move pages in a pdf
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
change page order in pdf reader; how to rearrange pdf pages reader
50
Part I
Learning to Program
When the step value in a
for
loop is not provided,Lua assumes a valueof
1
for the loop. The earlier
1
,
2
,
3
example can thus be written as follows:
for i = 1, 3 do
print(i)
end
Computing Factorials
The
for
loop can be used to make the
factorial()
function even more clear.
Type the following definition into your interpreter:
function factorial3(num)
local total = 1
for i = 1, num do
total = total * i
end
return total
end
Ratherthan manuallywriting the terminal condition forthe
while
or
repeat
loop, you can just provide the
for
statement with a start value, and an upper
bound. This example uses the variable
num
,which is evaluated to a number
when the function is run.
Evaluation of Loop Conditions
In a
for
loop, the
end_value
and
step_value
are both calculated once, at the
start of the loop. As a result, variables and expressions can be used for these
values. These values cannot be changed mid-loop; they will have already been
calculated. Considerthe following example:
> upper = 3
> for i = 1, upper do
>> print(i)
>> upper = upper + 1
>> end
1
2
3
This example doesn’t loop forever because loop conditions are only evalu-
ated at the start of the loop.
Variable Scope in for Loops
When writinga
for
loop,rememberthatthecountervariablenameyousupply
will automatically be made local to that block and won’t be accessible outside
that level:
> i = 15
> for i = 1, 3 do print(i) end
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 pages in a pdf; how to reorder pages in pdf file
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
move pages in pdf online; reorder pages in pdf reader
Chapter 3
Basic Functions and Control Structures
51
1
2
3
> print(i)
15
In addition, changes made to the counter variable inside the loop do not
affect the iteration. For example, the assignment to
i
in the following loop
doesn’t actually advance the loop counter:
> for i = 1, 10 do
>> print(“Loop iteration: “ .. i)
>> i = i + 1
>> end
Loop iteration: 1
Loop iteration: 2
Loop iteration: 3
Loop iteration: 4
Loop iteration: 5
Loop iteration: 6
Loop iteration: 7
Loop iteration: 8
Loop iteration: 9
Loop iteration: 10
If, for some reason, you need to save the control variable’s value, you can
declare a local variable just prior to the
for
loop, where you can save the
number you need, as in the following example:
upper = 10
do
local max
for i = 1, upper do
max = i
end
print(max)
end
When the loop terminates,
max
will be
10
,which was the last value of the
control variable.
Summary
This chapter introduced you to functions and showed you two different
methods to create functions, using two different syntaxes. Conditionals and
control structures were introduced, enabling you to easily perform repeated
computations.The nextchapterexploresadvancedtechniques using functions
and control structures.
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;
rearrange pages in pdf document; moving pages in pdf
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.
how to change page order in pdf acrobat; reorder pages of pdf
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
how to rearrange pdf pages in preview; change page order pdf reader
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; pdf reverse page order online
CH A P T E R
4
Working with Tables
Keeping data in variables is handy when working on simple programs, but
larger projects require an easier way to store data. Consider a simple address
book program that enables you to electronically store contact information.
Using variables, that might look something like this:
alice_name = “Alice Applebaum“
alice_phone = “+1-212-555-1434“
alice_address1 = “114 Auburn Street“
alice_address2 = “Apt 14“
alice_city = “Atlanta“
alice_state = “GA“
As you can see, using this method for more than a few simple entries
would be unwieldy. Adding a new entry requires you to create a new variable
name and enter each of the details in a new variable. Computers are all about
automating processes, so there has to be a better way to deal with this.
Storing Data Using Tables
You may be familiar with tables or some analogous object from other pro-
gramming languages (arrays,records, dictionaries, hash tables). In Lua, tables
are objects that can be used to store other (usually related) values.
To understand how to use tables, it’s important to grasp the concept of an
associative table; which is how tables in Lua are implemented. An associative
table is a collection of values that are each associated with a key. Code can then
request a given key from a table and receive the value that is paired with that
key, if such a pair exists.
53
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.).
how to move pages within a pdf; how to move pages around in pdf
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 online; how to rearrange pdf pages
54
Part I
Learning to Program
Creating and Indexing Tables
Create a new table for Alice by running this code:
> alice = {}
In Lua, the table constructor
{}
creates a new table, in this case an empty
one. Here, the new table has been assigned to the variable
alice
.You can
index this table using square brackets and a key. Run the following:
> alice[“name“] = “Alice Applebaum“
> alice[“phone“] = “+1-212-555-1434“
> alice[“address1“] = “114 Auburn Street“
> alice[“address2“] = “Apt 14“
> alice[“city“] = “Atlanta“
> alice[“state“] = “Georgia“
Each line here tells Lua to look in the table
alice
using the provided key,
and set that value to whatever is on the right side of the assignment operator.
These elements can then be accessed later:
> print(alice[“name“])
Alice Applebaum
> print(alice[“address2“])
Apt 14
In each case, a key is matched up with a specific value andstoredwithin the
table. Each of these examples uses a string as the key, but Lua actually allows
any value (except
nil
)to be used as a key. See this in the following example:
> alice[1] = “Test value“
> alice[2] = 14
> print(alice[1])
Test value
> print(alice[2])
14
Clearing an Element from a Table
When a table is indexed with a key that has not been set, the table will return
the special value
nil
.Run the following:
> print(alice[“fax“])
nil
This means, quite literally, that there is nothing stored in the table for the
given key. In order to clear a key/value pair from a table, you just assign that
key the value
nil
.Do this now to clear the two test values set previously:
> alice[1] = nil
> alice[2] = nil
Chapter 4
Working with Tables
55
Shortcuts for String Keys
Lua provides an easier way to index a table by string keys when those strings
are a singleidentifier. This is extremely useful when workingwith data tables.
Instead of typing this:
alice[“address1“] = “114 Auburn Street“
you can type the following:
alice.address1 = “114 Auburn Street“
This shortcut method only works when the key begins with a letter or
underscore character and consists of only letters, digits, and underscore
characters. In addition, the key cannot be a reserved Lua keyword (such as
end
).All of the following identifiers are consideredvalid:
myTable.someKey
myTable.someKey12
myTable.some_Key
myTable._someKey
myTable.start
But these will cause an error:
myTable.12someKey
myTable.some-key
myTable.end
myTable.or
This method of indexing a table is only provided as a convenience, and
only works when your keys are in a specific format. You can still access the
‘‘invalid’’ keys using the full bracket notation.
Creating Populated Tables
In addition to using
{}
to create new empty tables, you can also use it to
create an already populated table. This is accomplished by providing a set of
key/value pairs within the constructor itself, using the following syntax:
myTable = {
[key1] = value1,
[key2] = value2,
...
}
56
Part I
Learning to Program
Running the following can thus create an equivalent record for Alice:
alice = {
[“name“] = “Alice Applebaum“,
[“phone“] = “+1-212-555-1434“,
[“address1“] = “114 Auburn Street“,
[“address2“] = “Apt 14“,
[“city“] = “Atlanta“,
[“state“] = “Georgia“,
}
Youcan take advantageofshortcuts forstring keys in the constructor too, by
typing
someKey
instead of
[“someKey“]
.This shortcut follows the same rules
as dot notation for table indexing. This shortens the example record to:
alice = {
name = “Alice Applebaum“,
phone = “+1-212-555-1434“,
address1 = “114 Auburn Street“,
address2 = “Apt 14“,
city = “Atlanta“,
state = “Georgia“,
}
TRAILING COMMAS IN TABLE CONSTRUCTORS
The last line of each of these table examples has a trailing comma before the
closing brace. The syntax of Lua allows this within tables so it is easier to add
new key/value pairs to the end of the definition. If Lua didn’t allow this and
you forget to add a comma before adding a new line, you would get a compi-
lation error.
When creating new tables in this format, having the trailing comma makes
adding new entries easier, so it is a common practice to include them on every
row.
Using Tables as Arrays
Lua tables haveanother uniqueproperty when they areused with consecutive
integerkeys startingat
1
.Thesetables can beusedas listsofvalues andinclude
library functions for inserting values, removing values, and sorting the list.
Tables used in this manner are typically referred to as arrays, due to some
similarities they share with arrays in other programming languages. More
specifically, the part of a table that has integer keys starting at
1
is referred to
as the array part of the table.
Chapter 4
Working with Tables
57
Creating an Array
You can create a new array using the table constructor in one of the two
following ways (they are equivalent):
tbl = {
value1,
value2,
value3,
...
}
tbl = {
[1] = value1,
[2] = value2,
[3] = value3,
...
}
In the first case you can omit the key names entirely, and just provide a
comma-separated list of values. As you can see, arrays are just a special case
of tables. Each of the functions covered in this section is only reliable when
dealing with consecutive integer keys starting at
1
.Although
nil
can be used
as a value in a table, it indicates that a value is missing, so care must be taken
to ensure that
nil
values don’t appear in the array part of a table.
The two types of table constructors can be mixed, so you can define a table
with an array part and key/value pairs at the same time. For example, the
following is a validtable definition that combines the use of all threedefinition
methods:
class_list = {
“Alice“,
“Bob“,
“Carol“,
class_name = “Foundations of Engineering and Computer Science“,
[“class_code“] = “ECS101“,
}
Getting the Length of an Array
The same length operator (
#
)that was introduced in Chapter 2 for use on
strings is also used to get the length of the array part of a table. Test this now
with these quick examples:
> tbl = {“alpha“, “beta“, “gamma“, “delta“}
> print(#tbl)
4
58
Part I
Learning to Program
> tbl = {}
> print(#tbl)
0
> tbl = {
>> “alpha“,
>> “beta“,
>> [“one“] = “uno“,
>> [“two“] = “dos“,
>> “gamma“,
>> }
> print(#tbl)
3
You can see that
#
only counts the elements in the array part. This operator
can be used to print the table’s elements without your needing to hardcode
the upper limit. For example:
> for i = 1, #tbl do
>> print(tbl[i])
>> end
alpha
beta
gamma
Adding Elements to an Array
Adding an element to an array is as simple as associating the value to the next
integer key in sequence. More generally:
> tbl[#tbl + 1] = “new element“
This is a really tedious and error-prone way to do something relatively
simple. Lua provides a
table.insert()
library function that makes adding
elements a bit easier.The syntax for
table.insert()
is:
table.insert(tbl, [pos,] value)
The arguments are as follows:
tbl
—The table to alter
pos
(optional)—The position at which to add the new element
value
—The value to insert
Thesecond parameterbeingenclosedin brackets indicates thatit is optional
and does not needto be included. If the position isn’t included, the new value
will be added to the end of the table.
Documents you may be interested
Documents you may be interested