Здравствуйте, VladD2, Вы писали:
VD>... Ну, то что нехватает метапрограммирования — это как бы само собой . Но вот то что, мне будет нехватать таких банальных вещей как кортежи (tuples), я даже подумать не мог!!!
Я так понимаю что тебе таки не хватает Lisp'а в C#
В том смысле что таки пора открыть этот файл:
C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool Developers Guide\Samples\clisp\clisp.htm.
Здравствуйте, c-smile, Вы писали:
CS>Я так понимаю что тебе таки не хватает Lisp'а в C#
А как мне не хватает C# в Lisp-е...
... << RSDN@Home 1.2.0 alpha rev. 637>>
Gaperton wrote:
> PA>boost::tie, вот и весь паттерн-матчинг.
> Что только не придумают. И что, работает?
Ну вот как-то так:
#include <string>
#include <iostream>
#include <ostream>
#include <boost/tuple/tuple.hpp>
using namespace std;
using namespace boost;
int main()
{
int t11;
double t12;
string t13;
// можно так
tie(t11,t12, t13) = make_tuple(1, 2.0, "3");
cout << t11 << " " << t12 << " " << t13 << endl;
// а еще так (а-ля let (_,x,_) = (1,2.0, "3"))
double x;
tie(tuples::ignore,x, tuples::ignore) = make_tuple(1, 2.0, "3");
cout << x << endl;
// А вот так уже не получится
//int t21, t22, t23, t24;
//tie(t21, tie(t22,t23), t24) = make_tuple(1, make_tuple(2,3), 4);
return 0;
}
Конечно, это не паттерн матчинг, но что есть, то есть. Да и сдается мне,
что boost::tuple никто не использует, больно уж чужеродная штука. Да и
оверхеду синтаксического вагон.
Posted via RSDN NNTP Server 2.0
Здравствуйте, Gaperton, Вы писали:
G>Гы, сына, LOL.
Сбавь обороты.
... << RSDN@Home 1.2.0 alpha rev. 642>>