Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     07 Apr 2005  15:41:58
 To : Bulat Ziganshin
 Subject : Re: perl syntax
 -------------------------------------------------------------------------------- 
 
 Bulat Ziganshin -> Artem Chuprina  @ Wed, 06 Apr 2005 19:52:27 +0400:
 
  BZ>>> x = { "a" => [1, 2, {"b"=>nil}] }
 
  BZ>>> затем передать эту переменную в процедуру или наоборот -
  BZ>>> возвратить её. доступ ко всем элементам и их изменение
  BZ>>> прозводится напрямую:
 
  BZ>>> x["c"] = x["a"][2]["b"]
  BZ>>> x["a"][3] = x["a"][2].keys
 
  AC>> x = {"a" => [1,2], "b"=>[3,4]}
 
  BZ> наверно, нужно дополнительное разъяснение. в ruby все значения
  BZ> представлены ссылками, при этом все манипуляции с этими ссылками
  BZ> производятся неявно.  скажем, в твоём примере x указывает на
  BZ> значение типа Hash. в этом хеше есть 4 ссылки - на строки "a" и
  BZ> "b", массивы [1,2] и [3,4]. x["a"] возвращает ссылку на первый
  BZ> массив. её можно передать в процедуру, присвоить переменной,
  BZ> возвратить и т.д. присваивание элементу массива или хеша вызывает
  BZ> процедуру "[]=", которой передаются сам массив/хеш, индекс/ключ и
  BZ> присваиваемое значение.  например, x["a"] = [5,6] вызывет порцедуру
  BZ> x.[]= ("a", [5,6]) которая изменит ссылку, хранящуюся в первом
  BZ> элементе этого хеша
 
 Это как раз я из кода понял.  То есть варианты возможны, но это - самое
 естественное решение.
 
  AC>> С этим, в общем, согласен.  Один вопрос.  Предположим, у меня
 
  AC>> x = {"a" => [1,2], "b"=>[3,4]}
 
  AC>> Каким выражением (statement не интересует, нужно именно выражение) я
  AC>> могу получить из этого [[1,2],[3,4]] и [1,2,3,4]?
 
  BZ> первое очень просто - x.values, второе - x.values[0]+x.values[1], а
 
 То есть явная операция слияния вместо неявной, как в перле.  С учетом
 наличия общего вида (в перле, впрочем, при этом придется дополнить
 неявное слияние явным map) - тоже здраво.
 
  BZ> в общем виде - x.values.inject { |sum,a| sum+a }
 
 А вот тут синтаксиса не понял...  То есть понял, что x.values подается
 на вход некоторой функции.  Hе понял синтаксиса функции...  Или inject -
 это подача на вход именно аккумулятору?  Тогда синтаксис чуть понятнее,
 но все равно странноватый...
 
 Синтаксис функция-аргументы, а не объект-метод-аргументы, как здесь,
 надеюсь, бывает?  А то там может быть две переменных - x и y...
 
 -- 
 Artem Chuprina
 RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru
 
 Praemonitus premunitus
 --- ifmail v.2.15dev5.3
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 perl syntax   Alexei Ivanov   31 Mar 2005 06:35:04 
 Re: perl syntax   Alexei Ivanov   31 Mar 2005 06:50:42 
 Re: perl syntax   "Andrei Egorov   31 Mar 2005 09:14:22 
 Re: perl syntax   Artem Chuprina   31 Mar 2005 11:58:31 
 Re: perl syntax   Alexei Ivanov   01 Apr 2005 02:54:43 
 Re: perl syntax   Artem Chuprina   01 Apr 2005 12:01:46 
 Re: perl syntax   "Andrei Egorov   31 Mar 2005 09:00:32 
 Re: perl syntax   Alexei Ivanov   31 Mar 2005 10:30:45 
 Re: perl syntax   Serge Chervjakov   31 Mar 2005 11:51:16 
 Re: perl syntax   Alexei Ivanov   01 Apr 2005 02:22:57 
 Re: perl syntax   Artem Chuprina   01 Apr 2005 11:40:53 
 Re: perl syntax   Artem Chuprina   31 Mar 2005 12:02:06 
 Re: perl syntax   Alexei Ivanov   01 Apr 2005 03:01:17 
 Re: perl syntax   Ruslan Kosolapov   01 Apr 2005 03:43:43 
 Re: perl syntax   Alexei Ivanov   01 Apr 2005 04:07:25 
 Re: perl syntax   Artem Chuprina   01 Apr 2005 12:09:53 
 Re: perl syntax   Alexei Ivanov   01 Apr 2005 17:57:23 
 Re: perl syntax   Artem Chuprina   01 Apr 2005 20:21:20 
 Re: perl syntax   Alexei Ivanov   02 Apr 2005 02:52:16 
 Re: perl syntax   Artem Chuprina   01 Apr 2005 12:08:20 
 Re: perl syntax   Serge Chervjakov   01 Apr 2005 09:39:18 
 Re: perl syntax   Artem Chuprina   01 Apr 2005 12:06:19 
 Re: perl syntax   "Andrei Egorov   31 Mar 2005 15:00:55 
 Re: perl syntax   Sergey Leschenko   31 Mar 2005 16:28:38 
 Re: perl syntax   Serge Chervjakov   31 Mar 2005 18:40:19 
 Re: perl syntax   Artem Chuprina   31 Mar 2005 23:28:27 
 Re: perl syntax   Alexei Ivanov   01 Apr 2005 03:26:27 
 Re: perl syntax   Serge Chervjakov   01 Apr 2005 09:55:36 
 Re: perl syntax   Ivan Frolkov   01 Apr 2005 10:23:18 
 Re: perl syntax   Alexei Ivanov   01 Apr 2005 17:44:40 
 Re: perl syntax   Artem Chuprina   01 Apr 2005 11:35:47 
 Re: perl syntax   Alexei Ivanov   01 Apr 2005 17:51:51 
 Re: perl syntax   Artem Chuprina   01 Apr 2005 20:18:11 
 Re: perl syntax   Alexei Ivanov   02 Apr 2005 02:49:45 
 Re: perl syntax   Artem Chuprina   02 Apr 2005 12:22:49 
 Re: perl syntax   Konstantin Tokar   01 Apr 2005 21:30:51 
 Re: perl syntax   Alexei Ivanov   02 Apr 2005 02:56:53 
 Re: perl syntax   Alexei Ivanov   01 Apr 2005 03:21:55 
 Re: perl syntax   Serge Chervjakov   01 Apr 2005 09:47:58 
 Re: perl syntax   Alexei Ivanov   01 Apr 2005 03:16:52 
 Re: perl syntax   Igor Chumak   01 Apr 2005 10:53:29 
 Re: perl syntax   "Andrei Egorov   01 Apr 2005 11:06:13 
 Re: perl syntax   Artem Chuprina   01 Apr 2005 12:15:29 
 perl syntax   Andrew Alakozow   31 Mar 2005 06:50:08 
 Re: perl syntax   Eugene Kuzin   31 Mar 2005 13:32:26 
 Re: perl syntax   Artem Chuprina   31 Mar 2005 11:56:27 
 Re: perl syntax   Alexei Ivanov   01 Apr 2005 02:52:42 
 Re: perl syntax   Ruslan Kosolapov   01 Apr 2005 03:35:29 
 Re: perl syntax   Alexei Ivanov   01 Apr 2005 04:01:50 
 Re: perl syntax   Artem Chuprina   01 Apr 2005 11:59:12 
 perl syntax   Bulat Ziganshin   02 Apr 2005 00:44:34 
 Re: perl syntax   Alexei Ivanov   02 Apr 2005 20:36:47 
 perl syntax   Bulat Ziganshin   02 Apr 2005 21:29:31 
 Re: perl syntax   Artem Chuprina   02 Apr 2005 23:58:07 
 perl syntax   Bulat Ziganshin   03 Apr 2005 02:51:20 
 Re: perl syntax   Alexei Ivanov   03 Apr 2005 06:30:02 
 Re: perl syntax   Artem Chuprina   03 Apr 2005 08:06:12 
 perl syntax   Bulat Ziganshin   03 Apr 2005 19:04:22 
 Re: perl syntax   Alexei Ivanov   04 Apr 2005 01:50:25 
 Re: perl syntax   Serge Chervjakov   04 Apr 2005 02:43:55 
 Hа: perl syntax   Alexander V. Gaiduk   04 Apr 2005 10:34:48 
 Re: perl syntax   Artem Chuprina   03 Apr 2005 08:05:11 
 perl syntax   Bulat Ziganshin   03 Apr 2005 19:07:47 
 Re: perl syntax   Alexei Ivanov   04 Apr 2005 01:49:18 
 Re: perl syntax   Serge Chervjakov   04 Apr 2005 02:48:00 
 perl syntax   Dmitry Grebeniuk   04 Apr 2005 13:35:16 
 Re: perl syntax   Artem Chuprina   04 Apr 2005 16:12:38 
 Re: perl syntax   Alexei Ivanov   03 Apr 2005 00:00:40 
 Re: perl syntax   Artem Chuprina   03 Apr 2005 08:03:41 
 perl syntax   Dmitry Grebeniuk   04 Apr 2005 14:10:58 
 perl syntax   Bulat Ziganshin   04 Apr 2005 19:10:51 
 perl syntax   Dmitry Grebeniuk   05 Apr 2005 08:02:36 
 perl syntax   Bulat Ziganshin   05 Apr 2005 23:04:29 
 Re: perl syntax   Artem Chuprina   06 Apr 2005 11:33:20 
 perl syntax   Bulat Ziganshin   06 Apr 2005 20:52:27 
 perl syntax   Dmitry Grebeniuk   07 Apr 2005 08:27:18 
 perl syntax   Bulat Ziganshin   07 Apr 2005 19:30:09 
 Re: perl syntax   Artem Chuprina   07 Apr 2005 15:41:58 
 perl syntax   Bulat Ziganshin   07 Apr 2005 19:33:37 
 Re: perl syntax   Artem Chuprina   08 Apr 2005 11:46:02 
 Re: perl syntax   Ruslan Kosolapov   01 Apr 2005 20:43:38 
 Re: perl syntax   Alexei Ivanov   02 Apr 2005 02:55:52 
 Re: perl syntax   Ruslan Kosolapov   02 Apr 2005 03:37:20 
 Re: perl syntax   "Andrei Egorov   01 Apr 2005 11:27:06 
 Re: perl syntax   Artem Chuprina   01 Apr 2005 11:56:10 
Архивное /ru.perl/25606857c9245.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional