[Vienna-pm] Für L2R-Fetischisten & SQL-Gepeinigte
Josef Schmid
e9427749 at stud4.tuwien.ac.at
Wed May 7 06:30:34 PDT 2008
Josef Schmid schrieb:
> Roland Giersig schrieb:
>> Robert Barta wrote:
> [...]
>>> ... die Syntax erweiteren. Ich verwende map/grep exzessiv, aber das
>>> verkehrt von hinten nach vorn lesen/schreiben ueberless ich lieber den
>>> Chinesen.
> [...]
> Oder alternativ:
> use English::Reference qw(deref);
> sub _asiaphop
> { my $last=pop; my $peek=$_[$#_];
> ref $peek eq'CODE'?$last->(_asiaphop(@_)):$last->(deref $peek);
> }
> sub asiaphop (\[@$%];&&&&&&&&&&&&&&&&&&&&&&&&&&&&&) {_asiaphop(@_)}
>
> # test: -> (b)(c)(d)(e)
> my @a=qw(a b c d e);
> print asiaphop @a,sub{ grep{$_ ne 'a'}@_ },sub{ map{"($_)"}@_ };
>
> obwohl ¬ so hübsch,
> Jo "von Affen gebissen" sef
Es ginge allerdings etwas hübscher, ala:
from @students,
where { $_->matnr ne 'u007' } select { $_->name };
Ansonsten hätte ich so ein paar Ideen für die weniger
xenophoben unter den pm'lers:
Nämlich mittels Überladungen von grep, map und
join <bg /> eine Übersetzung nach SQL-Statements
zu erzeugen.
Also my @r=map { [$_->s->name,$_->c->name] }
grep { $_->s->matnr eq '...' }
join '=', # equal join ;-)
from s => @students, c => @courses;
Was haltet ihr von der Idee?
(Sieht nach O(n²) aus schafft aber was immer die
DB hergibt.)
pfiateng,
Josef
More information about the Vienna-pm
mailing list