Рубрики
Без рубрики

Быстро поднимая Ruby, как Python DEV PT II

Это продолжение быстро подниматься Ruby, как Python Dev. Опять же, ожидайте примеров без математики … Помечено Ruby, Python, CodeNewie.

Это продолжение Быстро поднимая Ruby, как Python Dev . Опять же, ожидайте примеров без математики и никаких дерьмовых имен

Некоторое отражение

Я действительно никогда не думал, что выберу второй язык, но теперь, когда я намного проще, чем ожидалось. Теперь не принимайте это, как я сказал, это легко. Это просто не так ужелительно и запутанно, как и было, когда я поняла, как кодировать.

Больше различий

Классы, функции и методы, о мой

Оказывается, Python не является настоящим языком OOP, так как он все еще имеет функции. Рубин, с другой стороны, является настоящим языком OOP и не вызывает функций. Вместо этого сообщения отправляются на методы экземпляра объекта

Мы не вызываем функции, мы отправляем сообщения на методы на экземпляре данного объекта в Ruby!

Итерация

У питона, так и рубины имеют петли, но синтаксис другой. Вот сравнение того же кода на каждом языке

В питоне

# python
# throw each toy some number of times for some dog
def throw_toy(amount, name = "the dog")
    toy_list = ["ball", "frisbee", "rock", "another ball", "cat"]
    for toy in toy_list:
        print(f"threw {toy} {amount} times for {name.capitalize()}"

throw_toy(3, "Cheeto")
throw_toy(1, "wiley")

Вот это в рубине

#ruby
# throw each toy some number of times for some dog
def throw_toy(amount, name = "the dog")
  toy_list = ["ball", "frisbee", "rock", "another ball", "cat"]
  toy_list.each{
     |toy| puts "threw #{toy} #{amount} times for #{name.capitalize}"
    }
end

throw_toy 3, "Cheeto"
throw_toy 1, "wiley"

Скобки в рубине

Оказывается, скобки являются необязательными, но предпочтительными в некоторых случаях.

Если у вас есть только один ARG, скобки, вероятно, не нужны. Более одного ARG И это хорошая идея иметь их.

# this is acceptable
def throw_toy amount, name = "the dog"

# this is preferred because there is >1 argument
def throw_toy(amount, name = "the dog")

Еще несколько Быстрые точки различия

BasicObject & объект унаследован буквально всем имеет концепцию как методов, так и функций, где методы относятся к классу
методы функции
494595.to_s. строка (494595)

Если вы пропустили первый пост, я слышал, что это хорошо читать и есть кошки.

Быстро поднимая Ruby, как Python Dev

Вики (она/они) · 12 ноября 20 ’20 · 3 мин читать

Оригинал: “https://dev.to/vickilanger/picking-up-ruby-fast-as-a-python-dev-pt-ii-33kp”