Это продолжение быстро подниматься Ruby, как Python Dev. Опять же, ожидайте примеров без математики и минимальных дерьмовых имен
Отправка сообщений нескольким методам?
Я не уверен, что это то, что вы можете сделать в Python, но вы можете сделать это в Ruby. В примере ниже Кормить "Собаки", если еда? Запускается 2 метода сразу.
Это ?
в Meet_time?
Также будет новым для меня, и я не видел его в Python. В Python я бы сделал мою переменную, как IS_IT_MEAL_TIME
Отказ
#ruby def meal_time? time_hrs if time_hrs >=5 puts "cat is singing song of his people, guess it's food time" true else puts "tell cat to try again in an hour" false end end def feed pet puts "put food in #{pet} bowl\n" end feed "cats" if meal_time?(4) feed "dogs" if meal_time?(5) feed "cats" if meal_time?(18) feed "dogs" if meal_time?(18)
Классы
Классы выглядят немного отличаться от Python, чтобы Ruby, но выглядит как в основном той же концепция. Attr_accessor
и @
Новые запчасти для меня.
Мини-приложение для рыбы, сочетающее в себе вещи, которые я просмотрел до сих пор
Я имею в виду, чтобы построить мини-приложение для отслеживания уровней вещей в моем аквариуме, так что здесь оно.
# ruby class Water_Level attr_accessor :time, :ph, :ammonia, :nitrites, :nitrates, :temp def initialize(ph, ammonia, nitrites, nitrates, temp) @time = Time.now @ph = ph @ammonia = ammonia @nitrites = nitrites @nitrates = nitrates @temp = temp end end Water_Level.new.time class Levelizer def initialize(title) @title = title @levels = [] end def add_a_level(ph, ammonia, nitrites, nitrates, temp) # The << means add to the end of the array @levels << Level.new(ph, ammonia, nitrites, nitrates, temp) end def show_timeline puts "Fishify: #{@title} has tracked #{@levels.count} Levels" @levels.sort_by { |t| t.time }.reverse.each { |t| puts "#{t.ph} #{t.ammonia} #{t.nitrites} #{t.nitrates} #{t.temp} #{t.time}" } end end myapp = Levelizer.new "Vicki's Betta Tank" myapp.add_a_level 7.4, 0, 0, 0, 78.2 myapp.add_a_level 7.4, 0, 0, 0, 72.3 myapp.add_a_level 7.2, 0, 0, 0, 79.1 myapp.show_timeline """ # output Fishify: Vicki's Betta Tank has tracked 3 Levels 7.2 0 0 0 79.1 Thu Nov 19 2020 14:04:59 GMT-0500 (Eastern Standard Time) 7.4 0 0 0 72.3 Thu Nov 19 2020 14:04:59 GMT-0500 (Eastern Standard Time) 7.4 0 0 0 78.2 Thu Nov 19 2020 14:04:59 GMT-0500 (Eastern Standard Time) """
Напоминание о себе: не работайте в местах, которые считают, что неоплаченная работа приемлема.
Если вы пропустили первый пост в этой серии, я слышал, что это хорошо читать и есть кошки.
Быстро поднимая Ruby, как Python Dev
Вики (она/они) · 12 ноября 20 ’20 · 3 мин читать
Оригинал: “https://dev.to/vickilanger/picking-up-ruby-as-a-python-dev-pt-iv-a-mini-fish-app-2gcd”