![]() |
|
![]() ![]() ![]() |
|
sumrok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 26.10.2009 Репутация: нет Всего: нет |
Доброго времени!
Недавно начал изучать Ruby, пришел к выводу, что нужно все-таки как-то практиковаться, но никак не могу придумать себе задачу по силам. Посоветуйте, что можно написать как первое более или менее серьезное приложение? ![]() |
|||
|
||||
systemIV |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 28.3.2011 Репутация: нет Всего: -1 |
Ну вот задачка) Она под Си, но ёё можно более элегантно написать на Руби. Предлагаю тебе средний вариант, так как не знаю твоих знаний.
На самом деле самое интересное в ней, это даже не високосный год, а сделать проверку ввода. Типа если введён месяц февраль и 29 число, а год не високосный, что бы вывела ошибку=) Я так и не смог это сделать |
|||
|
||||
sumrok |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 26.10.2009 Репутация: нет Всего: нет |
Посидел подумал над задачей и как-то не доходит реализация... Видимо мой опыт ниже среднего
![]() |
|||
|
||||
source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 6 Всего: 56 |
Не, это слишком скучная задача, для решения надо лишь вспомнить про класс Time... (можно, конечно, и не вспоминать, но в таком случае решение будет практически одинаковым для всех императивных языков программирования)
Если кто-то хочет посложнее, то попробуйте написать проверку введённой даты с помощью как можно более короткого регулярного выражения, хотя это тоже универсальная задача... ![]() sumrok, для тебя Ruby - первый язык программирования или есть опыт в других? -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
systemIV |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 28.3.2011 Репутация: нет Всего: -1 |
sumrok, там всё просто. Если не использовать Тime то принцип примерно один у всех языков программирования.
Создаётся массив из 12 ячеек, каждой ячейке соответствует число дней в месяце. Потом вычесляется номер дня в году для каждой даты. И из даты рождения вычетается дата которая сегодня. Получается количество дней. Если число отрицательное, прибавляешь 365 дней. Можно немного по другому, если получается отрицательное, то уменьшаешь месяц на 1 и прибавляешь 30 дней. Все числа образные, там везде проверка на месяц и вся фигня. + нужна процедура на високосность, если возвращает 1, то пусть инкриминирует количество дней в феврале. Если 0, то всё остаётся так же. Если нужен готовый код и программа могу скинуть на почту) Хотел щас открыть и вписать сюда, но почему то 7z архив не читается, даже после установки пакета p7zip Это сообщение отредактировал(а) systemIV - 31.3.2011, 14:56 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Ruby: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, source777. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Ruby: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |