Python е друг език за обща употреба, вдъхновил разработката на Ruby.
Прилики
Както в Python, така и в Ruby …
- Съществува интерактивен шел (наречен
irb
). - Можете да четете документация от команден ред (използва се
ri
, вместоpydoc
). - Няма специални знаци за терминирането на реда.
- Литералите от знаци могат да бъдат разположени на няколко реда, подобно на низовете в ”””
- Квадратните скоби са за масиви, къдравите са за речници (които в Ruby са наречени “хешове” ).
- Масивите работя по същия начин
- Обектите са strongly и dynamically писани.
- Всичко е обект, а променливите са просто референции към обекти.
- Въпреки, че ключовите думи са различни, изключенията работят еднакво.
- Разполагате с вградено средство за документация (В Ruby се казва rdoc).
Разлики
За разлика от Python, в Ruby …
- Низовете могат да се променят.
- Можете да създавате константи.
- Съществуват няколко конвенции в именоването ( имената на класовете започват с главна буква, а тези на методите с малка ).
- Съществува точно един вид контейнер ( масив ), който може да бъде променян.
- Низовете, оградени с двойни кавички, позволяват употребата на escape
sequences (като
\t
) и специален синтаксис за заместване и интерполация на изрази ( не се налага слепването на низове –"add " + "strings " + "together"
). - Няма “new style” или “old style” класове.
- Нямате директен достъп до атрибутите. В Ruby, това са извиквания на метод
- Употребата на скоби при извикването на методи не е задължителна.
- Съществуват
public
,private
, иprotected
за контрол на достъпа, за разлика от_voluntary_
underscore__convention__
в Python. - “mixins” се използват вместо множествено наследяване.
- Можете да добавяте или модифицирате вградените класове.
- Налични са
true
иfalse
вместоTrue
иFalse
(иnil
вместоNone
). - Когато тестваме за истинност, само
false
иnil
представляват лъжа. Всичко друго е истина (включително0
,0.0
,""
и[]
). - Вместо
elsif
имамеelif
. - Ползваме
require
вместоimport
. - Използват се коментари за генерирането на документация над дефиницията на класове/методи/израз
- Съществуват известен брой shortcut-и, които улесняват и увеличават продуктивността в Ruby.