Ruby
Upcoming SlideShare
Loading in...5
×
 

Ruby

on

  • 1,362 views

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

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

Statistics

Views

Total Views
1,362
Slideshare-icon Views on SlideShare
1,355
Embed Views
7

Actions

Likes
0
Downloads
13
Comments
0

1 Embed 7

http://www.slideshare.net 7

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Ruby Ruby Presentation Transcript

    • Ruby Андрей Ситник
    • Содержание
      • Философия
      • Истоки
      • Определение
        • Скриптовой
        • Объектный
        • Динамический
      • Примеры
      • Реальный проект
      • Ссылки
    • Философия Я хочу, чтобы компьютер был моим слугой, а не господином. — Юкихиро Мацумото, создатель Ruby
    •  
    • Perl , Smalltalk , Eiffel , Ada , Lisp Истоки
    • Ruby — скриптовый ,   объектный ,   динамический язык программирования
    • Скриптовый
      • Необязательная компиляция ruby code.rb
      • Никаких лишних строк puts "Hello world"
      • Интерактивная консоль >> "Ruby" * 2 => "RubyRuby"
    • Синтаксический сахар Необязательные символы: 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 'Нет связи'
    • Всё возвращает значение def sum ( a , b ) a + b end a = if true 'правда' else 'ложь' end #=> 'правда'
    • Функция как аргумент [ 1 , 2 , 3 ]. find { | i | i % 2 == 0 } #=> 2
    • Работа с массивами 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
    • Объектный -1 . abs () #=> 1 SomeClass. new #=> объект класса 2 .+( 3 ) #=> 5
    • Динамический class String def /( another ) File. join ( self , another ) end end 'dir' / 'file' #=> "dir/file"
    • Пример. Тестирование. RSpec describe Users do it 'should add user' do # Метод empty? должен вернуть true Users. should be_empty Users << 'ai' Users. length . should == 1 end end
    • Пример. 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;
    • Пример. Веб. 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
    • 3 человека + 48 часов + Ruby =
    • Ссылки Руби: Обучение: Встречи: Книги: Изучаем Ruby Ruby on Rails. Быстрая веб-разработка. Путь Rails ruby-lang.org bit.ly/BPCg3 twitter.com/spbruby