September 2016 1
Windows Cygwin Mac *1 Emacs Ruby 1 1.1 ( ) 1 Cygwin Bash Cygwin Windows Cygwin Cygwin Mac 1 Mac 1.2 *2 ls *3 *1 OS Linux *2 *3 Enter ( ) 2
~/16:00:20> ls 2 2 ls ls -a ~/16:00:20> ls -a ls -a ls (all) > > ls -a 1.2.1 > mkdir abc > ls > ls -l > mv abc xyz 3
> ls > rmdir xyz > ls mkdir, ls, mv, rmdir abc xyz (arguement) mkdir abc mv 2 mv ls -l "-l" (option) UNIX/Emacs CUI GUI UNIX CUI (Character User Interface) character GUI(Graphical User Interface) 4
2 2.0.1 100 GB( 1 ) 100 KB ( 10 ) 100 GUI CUI 1 *4 ( 3(a)) 3 (a) (b) Home Home PC Win Mac PC Foods Foods Fruits Banana Win Mac Fruits Banana (a) (b) 3 (a) (b) *4 5
2.1 Cygwin UNIX Windows PC home 2.1.1 *5 1. Windows Mac Cygwin C:Y=home Mac 2. Cygwin 3. > pwd > mkdir PC > ls > cd PC > pwd > ls > mkdir Mac > ls *5 (sub) Subway 6
> cd Mac > pwd > ls > cd.. > mkdir Win > ls > cd Win > pwd > cd../.. > pwd 4. UNIX 5. > cd > rm -rf PC 7
3 (editor) GNU Emacs( ) 3.1 & > emacs & Emacs 3.2 sample1.rb C-x C-f 8
scratch 1. Ctrl x 2. Ctrl f 3. (3.4 ) Find file: ~/ sample1.rb Crtl ( ) Emacs Windows Alt ( ) Mac command *6 C-x M-x Ctrl x Alt x 3.3 sample1.rb sample1.rb # sample1.rb # My first Ruby. puts "Hello Ruby!" 3.4 *6 Esc 9
3.5 C-x C-s Wrote: ~/sample1.rb Cygwin sample1.rb ls > ruby sample1.rb 10
Emacs C-x C-c 3.6 1 : C-g C-g Quit : C-k C-k C-k : C-y C-y : C-k C-y C-k C-y C-y : [Tab] ( ) [Tab] : C-_ C-_ C-s 11
3.7 12
4 Ruby Ruby 4.1 omikuji.rb puts "Omikuji : To quit: Q RET" while s = gets break if s =~ /[Qq]/ case rand(10) when 0 print "Happiest!" when 1.. 7 print "Happy" else print "Awful!" end end ls 4.2 Ruby *7 > ruby omikuji.rb Q rand(10) 0 9 10%, 70%, 20% *7 C Java 13
4.3 4.3.1 # lovelove.rb 1000.times do print "love!" end lovelove.rb C-x C-f 4.3.2 # clock.rb while true puts Time.now sleep 1 end Cygwin C-c 4.3.3 0 1 2 # nim.rb my_number = rand(2) puts "Hi! Guess my number. (0,1)" print "> " str = gets if str.empty? 14
puts "bye" end your_number = str.to_i if your_number > 1 then puts "Input 0 or 1!" elsif your_number == my_number then puts "You won!" else puts "Hm, my number is #{my_number}. wwwww" end 4.3.4 # countdays.rb wdays = ["Sun","Mon","Tues","Wednes","Thurs","Fri","Satur"] if ARGV.size < 3 puts "Input your birthday. YYYY MM DD" puts "Example: 1998 11 03" exit end y,m,d = ARGV.map{ v v.to_i } date = Time.local(y,m,d) nw = date.wday puts "You were born on #{wdays[nw]}day." > ruby countdays.rb 1998 11 3 15