Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Eric Bruecklmeier Newsgroups: de.alt.folklore.computer Subject: Re: Pascal auf Nr. 10 ;-) Date: Sat, 6 Sep 2025 14:02:55 +0200 Organization: 5i7 Lines: 39 Message-ID: References: <26f84d3bd29d92a0485841d3dc2c08f1@wxp-nb-01.mouse.local> <109cdpc$14159$1@solani.org> Reply-To: u@5i7.de Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: individual.net bONvU0CMFItt/8ox4L22eghvhK6XF8jaBisxdDeLRz/90uPvu6 Cancel-Lock: sha1:Sk7LODZA4X2ljFHzeMgpovDovjg= sha256:CBpirno3LdbZobcpXf1QZYNMYHaKk9zvJT/Fd63dtBw= User-Agent: Mozilla Thunderbird Content-Language: de-DE In-Reply-To: Xref: csiph.com de.alt.folklore.computer:52004 Am 06.09.2025 um 13:59 schrieb Peter J. Holzer: > On 2025-09-06 11:40, Eric Bruecklmeier wrote: >> Am 05.09.2025 um 17:33 schrieb Stefan Ram: >>> Hermann Riemann schrieb oder zitierte: >>>> Sonst erschien mir damals beim Vergleich >>>> Ruby und Python gleichwertig. >> >>> Ruby unterscheidet zwischen Lambdas und Code-Blocks mit >>> unterschiedlichen Regeln, während es in Python einheitlich >>> nur Funktionen gibt. > > Zwischen Lambdas und normalen Funktionen gibt es in Python schon auch > ein paar Unterschiede. > > >> Es wird eigentlich sogar zwischen Codeblöcken, Procs und Lamdas >> unterschieden. Wobei Codeblöcke keine Objekte sind, Procs und Lamdas >> schon... >> >>> Ruby hat wohl nicht die eleganten "comprehensions" >>> (Bildungsregeln), und arbeitet stattdessen mit Aufrufen >>> wie "map". >> >> Pattern matching geht schon in die Richtung, hat aber zugegebenermaßen >> eine aufwendigere Syntax. > > Ich weiß nicht, was pattern matching in Ruby ist, aber wenn es das > gleiche ist wie in den mir bekannten Programmiersprachen (ein > switch/case-Statement mit Superkräften), dann sind Comprehensions bzw. > Generatoren in Python etwas ganz anderes. > > Eine Comprehension ist eine Syntax zum Erzeugen von Werten mit mehreren > Elementen (Lists, Dicts, ...). > Das ist mir klar. In Ruby brauchst Du dafür halt einen Iterator oder Enumerator zusammen mit einer Logik, die bestimmte Objekte behält oder verwirft. Das ist strukturell etwas anderes, aber das Ergebnis ist das selbe.