Змест

  1. Першыя крокі з Рубі. Web Developer занятак 0
  2. Радкі. Web Developer занятак 1
  3. Масівы. Web Developer занятак 2
  4. Web Developer занятак 3
  5. Web Developer занятак 4
  6. Web Developer занятак 5
  7. Маленькія гульні. Web Developer занятак 6
  8. Кіруючыя пасьлядоўнасьці. Web Developer занятак 7
  9. Аб’ектна-арыентаванае праграмаваньне. Частка 1. Web Developer занятак 8
  10. Аб’ектна-арыентаванае праграмаваньне. Частка 2. Web Developer занятак 9
  11. Github. Гульні. Web Developer занятак 10
  12. Базы дадзеных. Web Developer занятак 11
  13. Ruby і Базы Дадзеных. Web Developer занятак 12
  14. Active Record. Web Developer занятак 13
  15. Прыкладаньні Active Record. Web Developer занятак 14
  16. HTML. Wev Developer занятак 15
  17. Rails. Web Developer занятак 16
  18. Rails. Частка 2. Web Developer занятак 17
  19. Java Script. Web Developer занятак 18

Камандны радок

Перад тым як пачаць пісаць код, нам трэба ўсталяваць некалькі інструментаў для праграмаваньня.

Клікніце Start, All Programs, Accessories, і потым Command Prompt. Можна проста пашукаць Command Prompt (Калі вінда расейская – “Командная строка”) у пуску. Вы ўбачыце чорнае акенца з прыкладна такім кантэнтам:

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\philip>

Запушчаная праграма завецца “камандны радок Windows” (па анлельску – shell). Яна дазваляе запускаць іншыя праграмы на Вашым кампутары. Частка C:\Users\philip> – гэта сам камандны радок (prompt).

Кожны раз калі радок пачынаецца з $ значыць я пішу ў камандным радку.

Усталёўваньне Ruby

Запампуйце й усталюйце RubyInstaller. Выбярыце Ruby 1.9.3-p374; калі ў канчатку замест p374 трошкі іншая лічба гэта нармалёва. Калі Вы будзеце ўсталёўваць, пастаўце птушачку каля Add Ruby executables to your PATH.

Зачыніце камандны радок і адчыніце зноў, каб прымяніць зьмены.

Каб упэўніца што Вы ўсталявалі Ruby правільна запусьціце:

  • ruby -v

Сымбал $ пісаць ня трэба.

Вы павінны атрымаць нешта, што пачынаецца на ruby 1.9.3 (Наконт таго што напісана далей не турбуйцеся).

The Interactive Ruby Shell

Шмат першапачатковай работы мы будзем рабіць у interactive Ruby shell, ці IRB. Каб запусьціць IRB напішыце:

  • irb

Зараз у Вас ёсьць новы камандны радок, які выглядае прыкладна так:

irb(main):001:0>

Я буду называць гэты камандны радок irb вось так :

Далей, калі б я не выкарыстоўваў камандны радок, які пачынаецца з > Вы павінны пісаць у IRB. Не забудзьцеся, што камандны радок, які пачынаецца з $ вы павінны пісаць проста ў камандным радку Windows (Shell).

Каб выйсьці з IRB набярыце:

  • exit

Зараз усё гатова каб пачаць праграмаваць :)

Складаньне, Адыманьне, Множаньне

Адчыніце свой камандны радок IRB і паспрабуйце напісаць 1 + 2 потым націсніце Enter.

Віншую! Вы толькі што запусьцілі свой першы Ruby-код.

Вы павінны ўбачыць нешта такое:

  • 1 + 2
=> 3

Ruby узяў Ваш код – 1 + 2 – запусьціў, падлічыў і вярнуў вынік – 3.

Запомніце! Кожны раз калі я кажу “вярнуў вынік” у дачыньні да коду – я маю наўвазе што код падлічыў вынік і аддаў яго мне далей, каб я ім карыстаўся.

Зараз паспрабуйце больш складаныя рэчы (Дзяленьне разглядзім потым :)

  • 4 - 3
  • 5 * 6
  • 7 + 8 * 9
  • (7 + 8) * 9

Паспрубуйце яшчэ самі. Як выдумаеце што значыць аперацыя **?

+, -, * і ** завуцца аператарамі. Аператар гэта спецыяльны сімбал (ці сімбалы) якія вызначыюць якое-небудзь дзеяньне.

Калі ў Вас ёсьць насамрэч вялікі лік можна выкарыстоўваць ніжняе падкрэсліванне (underscore) для падзелу разрадаў:

  • 9_346_618_467

Дзяленьне, цэлыя й дробныя лікі

Зараз паспрабуйце трошкі дзяленьня:

  • 6 / 2
  • 7 / 2
  • 7.0 / 2.0

Калі Вы дадаеце дробную частку ў лічбу – Вы атрымліваеце вынік з таксама дробным канчаткам. Калі Вы не дадаеце дробную частку, Ruby акругліць лік да найменьшага цэлага.

Лічбы бяз дробных канчаткаў завуцца integers (цэлыя); лічбы з дробнымі канчаткамі – floats (дробныя, ці лічбы з плавальнай кропкай).

Каб зразумець навошта існуе цэлае дзяленьне – ўявім што прагляд фільма ў кінатэатры каштуе 40 т.б.р., а Вы маеце 90 т.б.р. Падлічыце колькі разоў Вы можаце схадзіць у кіно.

  • 90 / 40

А калі б мы зрабілі так:

  • 90 / 40.0

ці так

  • 90.0 / 40

Паспрабуйце яшчэ дзяленьне з цэлымі ды дробным. Ня забывайце пра складаньне, адыманьне й множаньне.

Пагуляйце з аператарам % (modulo), які вяртае рэшту ад дзяленьня двух цэлых. Але ня думайце што ён мае нейкае дачыненьне да аперацый з адсоткамі!

Зьменныя

Паспрабуйце наступнае:

  • my_number = 42
  • my_number

my_number гэта зьменная якую мы ўсталявалі роўнай 45. На другім радку, дзе мы надрукавалі my_number і потым ціснулі Enter, Ruby вярнуў значэньне зьменнай.

Вы можаце зьмяніць значэньне зьменнай:

  • my_number = 42
  • my_number
  • my_number = 51
  • my_number

Усталюйце зьменную favorite_number, якая будзе роўнай Вашаму любімаму ліку. Стварыце якія-небудзь яшчэ зьменныя.

Арытмэтыка са зьменнымі

Вы можаце рабіць любыя простыя аперацыі:

  • favorite_number = 12
  • favorite_number * 4

Паспрабуйце яшчэ самі.

Ці зьмяняецца значэньне зьменнай калі Вы робіце аперацыі зь ёй?

  • favorite_number = 9
  • favorite_number + 2
  • favorite_number

Неа. А што калі зрабіць вось так:

  • favorite_number = 10
  • favorite_number = favorite_number + 1
  • favorite_number

Вось кароткі запіс таго ж самага: favorite_number += 1.

Вы можаце карыстацца ня толькі адной зьменнай:

  • num1 = 5
  • num2 = 6
  • num3 = num1 + num2
  • num3

Пагуляйце са зьменнымі, усталёўваючы іх у розныя значэньні. Рабіце розныя аперацыі зь імі. Калі адчуеце сябе ўпэўнена – рухайцеся далей.

Што такое мэтады?

Вы ведаеце асновы лікаў, а зараз давайце разбярэмся што зь імі можна рабіць.

Спачатку давайце адшукаем модуль ліка (дыстанцыя ад нуля да ліка незалежна ад таго дадатны ён ці адмоўны) для некалькіх лікаў:

  • -3.abs
  • 7.abs

Вы можаце думаць пра abs як аб паведамленьні якое мы дасылаем ліку, вынік які мы атрымліваем – гэта адказ які дае лік на гэтае паведамленьне.

Трошкі тэрміналёгіі. Калі мы кажам -3.abs, abs гэта мэтад, -3 гэта аб’ект. Мы можам казаць “Пакліч мэтад abs аб’екта -3.” ці проста “Пакліч abs у -3.”

Зараз паспрабуйце мэтад floor:

  • 4.6.floor
  • -8.3.floor

Цяпер паспрабуйце гэтыя мэтады: ceil, even?, odd?. Спрабуйце іх на цэлых і дробных ліках. Некаторыя зь іх ня будуць працаваць. Вызначыце калі так адбываецца й чаму.

Паспрабуйце мэтад to_i у дробнай лічбы і мэтад to_f у цэлай.

Не турбуйцеся аб запамінаньні гэтых мэтадаў. Чым больш Вы будзеце сустракацца зь імі, тым больш будзеце памятаць іх. Нашмат лепей разумець што робяць гэтыя мэтады, чым тупа памятаць іх назвы.

Аргумэнты

Давайце акруглім лік да двух дробных лічбаў пасьля кропкі:

  • 3.1415926.round(2)

(2) завецца аргумэнтам. Мэтад round прымае аргумэнт які кажая яму да якой лічбы патрэбна акругліць лік.

Паспрабуйце акругліць якія-небудзь яшчэ дробныя.

Зараз паспрабуйце так:

  • 5.between?(1,3)

Падумайце аб тым, што робіць мэтад between?.

Калі ў Вас ёсьць некалькі аргумэнтаў Вы павінны падзяляць іх коскай.

На месцы аргумэнта Вы можаце пісаць любы код. Напрыклад як тут:

  • 5.equal?(7-2)

Калі Вы зразумелі што такое аргумэнт паспрабуйце напісаць так (пазбавіўшыся дужак):

  • 3.1415926.round 2

Гэта значыць што ў Ruby можна перадаваць аргумэнты як з дужкамі, так і без.

Пагуляйце яшчэ з мэтадамі round, between?, and equal? да таго часу пакуль ня будзеце адчуваць сябе ўпэўнена зь імі.

Ланцужкі мэтадаў (Method chaining)

Паспрабуйце:

  • result = 4.81.round
  • result.even?

Было б файна калі б была магчымасьць пазбавіцца ад стварэньня зьменнай result, так? Яна ёсьць:

  • 4.81.round.even?

Гэта завецца ланцужок мэтадаў (methods chain). Вы можаце выклікаць мэтады адзін за аднім столькі разоў колькі хочаце. Яны будуць выкананы злева направа.

Выклікайце некалькі мэтадаў адзін за аднім. Нагадаем мэтады якія Вы ведаеце: + - * / even? odd? abs round floor ceil equal? between? to_f to_i.

Дакумэнтацыя Ruby

Вы ўжо ведаеце пра шмат мэтадаў лікаў але іх існуе вельмі шмат! Лепшае месца каб пачытаць пра мэтады, якія Вы ведаеце, і даведацца пра новыя гэта дакумэнтацыя Ruby. Напэўна пакуль яна будзе выглядаць зусім не зразумелай, але пачніце праглядаць яе з тых мэтадаў якія Вы ведаеце, напрыклад even? і round. Потым праглядзіце старонкі пра цэлыя(integers) і дробныя (floats). Магчыма Вы знойдзеце тыя, якія цікавыя Вам. Пагуляйце зь імі. Гэта дапаможа Вам потым.

Радкі (String)

Мы ўжо шмат чаго зрабілі з лікамі, але сьвет гэта ня проста матэматыка. Давайце паглядзім на словы.

  • "Hello world!"

Рэч якая знаходзіцца паміж двукосьсямі завецца радок (string). Радкі могуць складацца з літараў, знакаў прыпынку й нават лікаў. Гэта ўсё радкі:

  • "1672"
  • "!?&"
  • "I am 21 years old! (or I was when I wrote that =)"

Напішыце прывітаньне свайму лепшаму сябру.

А што калі мы ня будзем ставіць двукосьсі?

  • hello

Так ня будзе працаваць бо Ruby думае, што мы кажам яму нешта пра зьменныя ці мэтады замест радка “hello”.

Мы таксама можам усталёўваць зьменныя роўныя радкам:

  • my_string = "Strings may contain characters like @, $, and %."
  • my_string

Усталюйце зьменную роўную радку.

Ці зразумелі Вы розніцу паміж "5" і 5?

Часам бывае, што IRB спыняе выконваць Ваш код і Вы заўважаеце што камандны радок зьмяніўся на нешта падобнае на ">. Значыць Вы адчынілі радок які Вы не зачынілі. Надрукуйце " каб зачыніць радок і цісніце Enter; мыгчыма Вы атрымаеце памылку, але потым IRB пачне далей працаваць нармалёва.

Радкі й мэтады

Вы можаце выклікаць мэтады ў радкоў гэтак жа як і ў лікаў:

  • "neveragondavialikiradokzshascislou".length

Ці так:

  • long_word = "neveragondavialikiradokzshascislou"
  • long_word.length

Паспрабуйце мэтады: upcase, downcase, swapcase, capitalize, reverse.

Ці зьмяняюць гэтыя мэтады значэньне зьменнай?

Паспрабайце дадаць ! у канец (upcase!) і паглядзіце што адбудзецца.

У Ruby мэтад які скончваецца на ! звычайна зьмяняе зьменную ў якой ён быў выкліканы. Мы завем гэта пагадненьнем (convention): ня існуе правілаў кажучых, што мэтад, які скончваецца на !, мусіць паводзіць сябе так, але сярод Ruby-праграмістаў так прынята.

  • my_word = "cat"
  • my_word.upcase
  • my_word
  • my_word.upcase!
  • my_word

Пагуляйце яшчэ з 5 і "5" выклікаючы мэтады радка ў ліка і мэтады ліка ў радка, каб зразумець лепей як яны адрозьніваюцца.

Пачытайце дакумэнтацыя Ruby для радка. Праглязіце сьпіс мэтадаў злева й пачытайце пра тыя, якія будуць цікавыя для Вас.

Наступны занятак