Monday, May 16, 2011

Функция sprintf в PHP

Сегодня речь пойдет о функции sprintf. Она предоставляет целый спектр возможностей для форматирования текста.

Напомним основное. Таково описание функции.
string sprintf ( string format [, mixed args] )
где
$format - это некий шаблон, в который в результате выполнения функции подставляются заданные нами значения $args

Например, с помощью sprintf можно форматировать число, дополняя его нулями до нужной нам длины. Делается это так:
print(sprintf("Это %03d", 15));
Получим вывод:
Это 015
Расшифруем шаблон "Это %03d", который мы передали функции.
Все шаблоны для подстановки начинаются с символа "%".
Мы задали аргумент 15 и этим шаблоном показали функции отформатировать число так, чтобы оно состояло из 3 символов - "Это %03d".
Также, тот факт, что недостаюшие символы дополнились нулями, не случаен - мы задали это в шаблоне, написав "Это %03d".
Мы могли написать так "Это %3d", тогда недостаюшие символы дополнились бы пробелами. Потому что пробел - это значение по умолчанию.
Также значением по умолчанию является и тот факт, что дополнение нулей происходит слева.
В нашем примере мы передавали в качестве аргумента 15, т.е. значение типа integer. Символ "d" появляется в шаблоне в связи с этим. В этом случае аргумент трактуется как integer. "Это %03d". Если бы в качестве аргумента нужно было передать строку, мы бы использовали "s" вместо "d".

А вдруг нам не нужны нули, а нужен, например, символ "$"?
Тогда нам следует воспользоваться символом " ' ".
Шаблон будет выглядеть так: "%'$3d"
Получим вывод:
$15
Если мы хотим, чтобы дополнение происходило не с левой, а с правой стороны, то нужно воспользоваться символом "-"
Шаблон будет выглядеть так: "%'$-3d"
На этот раз получим вывод:
15$
Это только малая доля возможностей, предоставленных функцией sprintf, которые более подробно можно изучить конечно же в мануале ;).

Wednesday, May 11, 2011

Установка Apache, PHP и MySQL на Ubuntu.

Я ставила на Ubuntu 11.04. Без проблем поставилось, проверенный вариант.

Установка Apache

Открываем терминал, и выполняем:
sudo apt-get install apache2
Для запуска и останова Apache2 используем:
sudo invoke-rc.d apache2 start
sudo invoke-rc.d apache2 stop
После запуска Apache2 можно проверить работу сервера перейдя в браузере на страницу http://localhost

Установка PHP

Tuesday, May 3, 2011

Блоки и итераторы в Ruby

В Ruby блоки кода могут использоваться для того, чтобы создавать функции обратного вызова, а также итераторы.
Блоки кода - это то, что находится между скобками { } или do... end

Это блок:
{puts "Hi, man"}
И это тоже блок:
do
  food.buy("bread")
  bread.put
end
Итак, есть два варианта оформить блок. В чем разница?
Вообще, скобки { } более тесно связаны между собой, чем пара do/end.
Можно придерживаться стиля, когда скобки используют, чтобы оформить блок в одну строку, а пару do/end - чтобы оформить блок, который занимает больше одной строки.