-Поиск по дневнику

Поиск сообщений в rss_forum_sources_ru

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.07.2007
Записей:
Комментариев:
Написано: 80


Язык для обучения программированию

Пятница, 31 Июля 2020 г. 12:02 + в цитатник
Wound:
Цитата JoeUser @
А ты не мельком взгляни. Обязательных говноотступов нет, есть четко отделяемые блоки. Если я не ошибаюсь, часть синтаксиса даже перелетела в Rust, по-братски

А как без отступов писать?
Ну вот допустим примеры из той же вики:

Язык 1:
    module Observable
    def initialize
    @observers = []
    end
    def add_observer(observer)
    @observers << observer unless @observers.include?(observer)
    end
    def delete_observer(observer)
    @observers.delete(observer)
    end
    def notify_observers
    @observers.each {|x| x.update(self)}
    end
    end
    class Employee
    include Observable
    attr_reader :name
    attr_accessor :title, :salary
    def initialize(name, title, salary)
    super()
    @name = name
    @title = title
    @salary = salary
    end
    end
    class BaseObserver
    def update
    raise 'Must be implement "update" function'
    end
    end
    class Payroll < BaseObserver
    def update(employee )
    p("Cut a new check for #{employee.name}!")
    p("His salary is now #{employee.salary}!")
    end
    end
    class TaxMan < BaseObserver
    def update(employee)
    p("Send #{employee.name} a new tax bill!")
    end
    end
    mike = Employee.new('Mike', 'project manger', 25000)
    mike.add_observer(Payroll.new)
    mike.add_observer(TaxMan.new)
    mike.salary = 35000
    mike.title = 'senior project manger'
    mike.notify_observers


Язык 2:
    class GameConsole:
    def create_game_picture(self):
    return 'picture from console'
    class Antenna:
    def create_wave_picture(self):
    return 'picture from wave'
    class SourceGameConsole(GameConsole):
    def get_picture(self):
    return self.create_game_picture()
    class SourceAntenna(Antenna):
    def get_picture(self):
    return self.create_wave_picture()
    class TV:
    def __init__(self, source):
    self.source = source
    def show_picture(self):
    return self.source.get_picture()
    g = SourceGameConsole()
    a = SourceAntenna()
    game_tv = TV(g)
    cabel_tv = TV(a)
    print game_tv.show_picture()
    print cabel_tv.show_picture()


Добавлено
Как говорится, попробуй найти 5 отличий :D

https://forum.sources.ru/index.php?showtopic=419241&view=findpost&p=3835587

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку