Ruby

956 views
928 views

Published on

Рассказ о Ruby студентам из Microsoft User Group.

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
956
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Ruby

  1. 1. Ruby Андрей Ситник
  2. 2. Содержание <ul><li>Философия
  3. 3. Истоки
  4. 4. Определение </li><ul><li>Скриптовой
  5. 5. Объектный
  6. 6. Динамический </li></ul><li>Примеры
  7. 7. Реальный проект
  8. 8. Ссылки </li></ul>
  9. 9. Философия Я хочу, чтобы компьютер был моим слугой, а не господином. — Юкихиро Мацумото, создатель Ruby
  10. 11. Perl , Smalltalk , Eiffel , Ada , Lisp Истоки
  11. 12. Ruby — скриптовый ,   объектный ,   динамический язык программирования
  12. 13. Скриптовый <ul><li>Необязательная компиляция ruby code.rb
  13. 14. Никаких лишних строк puts &quot;Hello world&quot;
  14. 15. Интерактивная консоль >> &quot;Ruby&quot; * 2 => &quot;RubyRuby&quot; </li></ul>
  15. 16. Синтаксический сахар Необязательные символы: User. find ({ 'login' => 'ai' }) ; User. find ( { 'login' => 'ai' } ) User. find { 'login' => 'ai' } User. find 'login' => 'ai' Однострочные операторы: puts 'правда' if true open 'http://ya.ru' rescue puts 'Нет связи'
  16. 17. Всё возвращает значение def sum ( a , b ) a + b end a = if true 'правда' else 'ложь' end #=> 'правда'
  17. 18. Функция как аргумент [ 1 , 2 , 3 ]. find { | i | i % 2 == 0 } #=> 2
  18. 19. Работа с массивами 5 . times { | i | puts i } [ 1 , 2 , 3 ]. each { | i | puts i } [ 1 , 2 , 3 ]. map { | i | i + 1 } #=> [2, 3, 4] [ 1 , 2 , 3 ]. inject { | sum , i | sum + i } #=> 6
  19. 20. Объектный -1 . abs () #=> 1 SomeClass. new #=> объект класса 2 .+( 3 ) #=> 5
  20. 21. Динамический class String def /( another ) File. join ( self , another ) end end 'dir' / 'file' #=> &quot;dir/file&quot;
  21. 22. Пример. Тестирование. RSpec describe Users do it 'should add user' do # Метод empty? должен вернуть true Users. should be_empty Users << 'ai' Users. length . should == 1 end end
  22. 23. Пример. ORM. ActiveRecord class Author < ActiveRecord::Base has_many :posts end class Post < ActiveRecord::Base belong_to :author end ai = Author. find_by_login ( 'ai' ) ai . login #=> &quot;ai&quot; ai . posts . length #=> 3 post = ai. posts . first post . title #=> &quot;Первая запись&quot;
  23. 24. Пример. Веб. Sinatra site.rb get '/post/:id' do post = Post. find ( params [ 'id' ]) haml :post end views/post.haml %html %body %h1 = post .title %p = post .text
  24. 25. 3 человека + 48 часов + Ruby =
  25. 26. Ссылки Руби: Обучение: Встречи: Книги: Изучаем Ruby Ruby on Rails. Быстрая веб-разработка. Путь Rails ruby-lang.org bit.ly/BPCg3 twitter.com/spbruby

×