Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 02:00 04.07.25 
Клубове/ Компютри и Интернет / Ruby Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Синтаксис на Руби.
Автор УчeщМодератор (скромен тип)
Публикувано12.10.06 21:11  



В тази тема предлагам да разгледаме синтаксиса на езика. Нека започнем с най-простото. Как да си напишен функция, изчисляваща факториел. Математическата дефиниция на факториел е:


n! = 1 (когато n==0)
= n * (n-1)! (в друг случаи)


В Ruby това може да бъде написано така:


def fact(n)
if n == 0
1
else
n * fact(n-1)
end
end


Най-забележителното в случая е липсата на return. Това е така защото
Ruby функциите връщат последното нещо, което е изчислено в тях. Използването на return е позволено но излишно в случая. Може да изпробваме функцията fact.



# Програма за намиране на факториел на число
# Файла може да бъде записан като fact.rb
def fact(n)
if n == 0
1
else
n * fact(n-1)
end
end
print fact(ARGV[0].to_i), "\n"



Тук ARGV е масив, който съдържа аргументите подавани от
командния ред и to_i превръща низовия символ в integer.
Ако я извикаме от командния ред със
ruby fact.rb 1 Ще ни върне 1. Ако пък я извикаме със
5, тоест ruby fact.rb 5 ще ни върне 120.



От неизбежното се възмущава само този, който е неразумен.

Редактирано от Учeщ на 26.07.08 00:46.



Цялата тема
ТемаАвторПубликувано
* Синтаксис на Руби. УчeщМодератор   12.10.06 21:11
. * Изпълнение на входен код. Учeщ   16.10.06 22:12
. * Низове Учeщ   25.10.06 22:23
. * Низове supremacy   27.10.06 02:52
. * Регулярни изрази. Учeщ   09.12.06 15:26
. * Re: Изпълнение на входен код. supremacy   27.10.06 02:47
. * Re: Изпълнение на входен код. borko-b   25.02.07 13:57
. * Re: Синтаксис на Руби. supremacy   27.10.06 02:41
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.