Как поменять значения двух переменных ?

Задача эта элементарна, и я бы даже не стал писать такую заметку, если бы не столкнулся с языком программирования Ruby, в котором она решается очень кратко и красиво благодаря механизму параллельного присваивания:
a,b = b,a

В этом языке реализовано достаточное количество изящных решений, с которыми я столкнулся впервые, например подмешивание модулей к классам. Учебник по Руби можно почитать вот тут.

А в традиционном php задачу тоже можно решить в одну строчку, правда не так изящно и красиво, но все же этот метод вполне рабочий:

list($a,$b) = array($b,$a)

Посты по теме:



Сервис Zadarma.com
Недорогие международные звонки, высокое качество речи. Протокол SIP.
Пополнение через Webmoney, терминалы оплаты

4 Comments

  1. Алексей Качаев

    Спорная красивость в выражении a,b = b,a… В чем же красивость, в том, что строка на 9 букв ниже? Зато php шный вариант читабельнее. Хотя, наверное, дело привычки… :)

  2. userfoenix

    по мне, то рубишный код намного гибче за пхпшный…Именно потому Ruby on Rails всегда будет а 10*х раз круче за CodeIgniter (особенно в Rails 3), хотя мне очень нравится последний и я использую его для фриланса :)

    Не в обиду автору комента… таки да, дело вкуса и привычки

  3. Alexei

    $a ^= $b;
    $b ^= $a;
    $a ^= $b;

  4. weiseUnisonee

    JJWVHNWASQPFHktdjhaiin ugg boots outlet store CCEQERNKWTWIFcrxexxgoq http://peternorthcott.com

Leave a Reply