{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

02-ruby - Last lecture CMSC 330 Organization of Programming...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
1 CMSC 330: Organization of Programming Languages Introduction to Ruby CMSC 330 2 Last lecture Many types of programming languages Imperative, functional, logical, OO, scripting Many programming language attributes Clear, orthogonal, natural… Programming language implementation Compiled, interpreted CMSC 330 3 Introduction Ruby is an object-oriented, imperative scripting language “I wanted a scripting language that was more powerful than Perl, and more object-oriented than Python. That's why I decided to design my own language.” “I believe people want to express themselves when they program. They don't want to fight with the language. Programming languages must feel natural to programmers. I tried to make people enjoy programming and concentrate on the fun and creative part of programming when they use Ruby.” – Yukihiro Matsumoto (“Matz”) CMSC 330 4 Books on Ruby Earlier version of Thomas book available on web See course web page CMSC 330 5 Applications of Scripting Languages Scripting languages have many uses Automating system administration Automating user tasks Quick-and-dirty development Major application Text processing CMSC 330 6 Output from Command-Line Tool % wc * 271 674 5323 AST.c 100 392 3219 AST.h 117 1459 238788 AST.o 1874 5428 47461 AST_defs.c 1375 6307 53667 AST_defs.h 371 884 9483 AST_parent.c 810 2328 24589 AST_print.c 640 3070 33530 AST_types.h 285 846 7081 AST_utils.c 59 274 2154 AST_utils.h 50 400 28756 AST_utils.o 866 2757 25873 Makefile 270 725 5578 Makefile.am 866 2743 27320 Makefile.in 38 175 1154 alloca.c 2035 4516 47721 aloctypes.c 86 350 3286 aloctypes.h 104 1051 66848 aloctypes.o ...
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
2 CMSC 330 7 Climate Data for IAD in August, 2005 ================================================================================ 1 2 3 4 5 6A 6B 7 8 9 10 11 12 13 14 15 16 17 18 AVG MX 2MIN DY MAX MIN AVG DEP HDD CDD WTR SNW DPTH SPD SPD DIR MIN PSBL S-S WX SPD DR ================================================================================ 1 87 66 77 1 0 12 0.00 0.0 0 2.5 9 200 M M 7 18 12 210 2 92 67 80 4 0 15 0.00 0.0 0 3.5 10 10 M M 3 18 17 320 3 93 69 81 5 0 16 0.00 0.0 0 4.1 13 360 M M 2 18 17 360 4 95 69 82 6 0 17 0.00 0.0 0 3.6 9 310 M M 3 18 12 290 5 94 73 84 8 0 19 0.00 0.0 0 5.9 18 10 M M 3 18 25 360 6 89 70 80 4 0 15 0.02 0.0 0 5.3 20 200 M M 6 138 23 210 7 89 69 79 3 0 14 0.00 0.0 0 3.6 14 200 M M 7 1 16 210 8 86 70 78 3 0 13 0.74 0.0 0 4.4 17 150 M M 10 18 23 150 9 76 70 73 -2 0 8 0.19 0.0 0 4.1 9 90 M M 9 18 13 90 10 87 71 79 4 0 14 0.00 0.0 0 2.3 8 260 M M 8 1 10 210 ... CMSC 330 8 Raw Census 2000 Data for DC u108_S,DC, 000,01,0000001,572059,72264,572059,12.6,572059,572059,572059,0,0,0,0,57 2059,175306,343213,2006,14762,383,21728,14661,572059,527044,158617,3400 61,1560,14605,291,1638,10272,45015,16689,3152,446,157,92,20090,4389,572 059,268827,3362,3048,3170,3241,3504,3286,3270,3475,3939,3647,3525,3044, 2928,2913,2769,2752,2933,2703,4056,5501,5217,4969,13555,24995,24216,237 26,20721,18802,16523,12318,4345,5810,3423,4690,7105,5739,3260,2347,3032 32,3329,3057,2935,3429,3326,3456,3257,3754,3192,3523,3336,3276,2989,283 8,2824,2624,2807,2871,4941,6588,5625,5563,17177,27475,24377,22818,21319 ,20851,19117,15260,5066,6708,4257,6117,10741,9427,6807,6175,572059,5363 73,370675,115963,55603,60360,57949,129440,122518,3754,3168,22448,9967,4 638,14110,16160,165698,61049,47694,13355,71578,60875,10703,33071,35686, 7573,28113,248590,108569,47694,60875,140021,115963,58050,21654,36396,57 913,10355,4065,6290,47558,25229,22329,24058,13355,10703,70088,65737,371 12,21742,12267,9475,9723,2573,2314,760,28625,8207,7469,738,19185,18172, 1013,1233,4351,3610,741,248590,199456,94221,46274,21443,24831,47947,870 5,3979,4726,39242,25175,14067,105235,82928,22307,49134,21742,11776,211, 11565,9966,1650,86,1564,8316,54,8262,27392,25641,1751,248590,115963,499 9,22466,26165,24062,16529,12409,7594,1739,132627,11670,32445,23225,2166 1,16234,12795,10563,4034,248590,115963,48738,28914,19259,10312,4748,399 2,132627,108569,19284,2713,1209,509,218,125 ... CMSC 330 9 A Simple Example Let’s start with a simple Ruby program # This is a ruby program x = 37 y = x + 5 print(y) print("\n") ruby1.rb: % ruby -w ruby1.rb 42 % CMSC 330 10 Language Basics # This is a ruby program x = 37 y = x + 5 print(y) print("\n") comments begin with #, go to end of line variables need not be declared line break separates expressions (can also use “;” to be safe) no special main() function or method CMSC 330 11 Run Ruby, Run There are three ways to run a Ruby program ruby -w filename – execute script in filename tip: the -w will cause Ruby to print a bit more if something bad happens irb – launch interactive Ruby shell can type in Ruby programs one line at a time, and watch as each line is executed irb(main):001:0> 3+4 => 7 irb(main):002:0> print("hello\n") hello => nil CMSC 330 12 Run Ruby, Run (cont.) Suppose you want to run a Ruby script as if it
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}