Download presentation
Presentation is loading. Please wait.
1
LING/C SC/PSYC 438/538 Lecture 5 Sandiway Fong
2
Today’s Topics Sorting: Homework 4 Review More Perl:
fc (fold case), hash sort Homework 4 Review More Perl: Implicit Coercion Conditionals Loops On Thursday: Homework 5 first programming homework
3
Last Time: Arrays: insertion and deletion from the ends
Generalized form: shift/unshift 1 2 n-2 n-1 pop/push Perl functions may have side effects and also return values Good ex: print "a", "\n";
4
Perl Arrays Sorting: {$a cmp $b} {$a <=> $b}
default (ASCII table order) {$a <=> $b} numeric flip $a $b for reverse order enable function fc for Unicode casefolding
5
Handling characters beyond ASCII …
Unicode encoding (utf-8)
6
Handling characters beyond ASCII …
Note: open pragma most general solution
7
Perl Hashes Sorting with a hash Usage:
sort byage keys %age Let's sort fruits by color, ascending, descending…
8
Homework 4 Review Relevant tags: Stanford Parser: I made her duck
Phrasal: S Sentence; NP Noun Phrase; VP Verb Phrase Part of Speech (POS): PRP Personal Pronoun; VBD Verb Past; PRP$ Possessive Personal Pronoun; NN Common Noun; . . Dependency links: nsubj; nmod:poss; dobj
9
Homework 4 Review Lisp S-EXP syntax: Tree representation:
10
Homework 4 Review ❌? cf. I baked [ John] [a cake] ❌ Verb: duck
❌ Ditransitive verb: duck
11
Homework 4 Review Winograd’s SHRDLU system: Tree Representation:
Move the red block on top of the smaller green one Tree Representation: PP modifies VP (not NP)
12
Homework 4 Review Another interpretation: Stanford parse:
13
Homework 4 Review
14
Implicit Coercion Example: Example:
Perl features implicit coercion of data types Example: the following program prints Equal! == is the numeric equality comparison operator my $one_string = "1"; my $one_number = 1; if ($one_string == $one_number) { print "Equal!\n" } else { print "Different!\n" } Example: the following program prints 3 is my number . is the string concatenation operator = qw(one, two, three); my $string is my number"; print "$string\n";
15
Implicit Coercion print "4" * 4 16
print "4" x 4 (“x” is the repetition operator) 4444 @a = (4) x 4 (in list context) (4, 4, 4, 4)
16
Conditionals and Looping
if < 10 ) { print “Small array\n” } else {print “Big array\n” } here is a scalar = size of array unless > 10) { print } Note: if size of array a is ≤ 10, it prints the contents of array a
17
Conditionals and Looping
18
Conditionals and Looping
Looping over arrays %fruits = qw(apple green orange orange lemon yellow); foreach $f (keys %fruits) { print $f, " => ", $fruits{$f}, "\n” } gives output: lemon => yellow apple => green orange => orange Note: keys %fruits = ("lemon", "apple", "orange") is an array
19
ARGV Command line: perl argv.perl 1 2 3
20
General Looping
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.