Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ruby

1,045 views

Published on

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

Published in: Technology, Education
  • Be the first to comment

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

×