|
From: | Andreas Röhler |
Subject: | Re: Replace element in list |
Date: | Mon, 2 Sep 2019 16:00:30 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 |
Am 02.09.19 um 15:43 schrieb tomas@tuxteam.de:
On Mon, Sep 02, 2019 at 09:29:39AM -0400, Stefan Monnier wrote:is there a recommended way to replace element x at index i of somelist y by newelement?What Thomas is hinting at with his "copy-list" and "functional sector" is that if you need to do that, there's a problem upstream. E.g. could you use a struct instead of a list?Thanks for putting my mumbling into civilised words :-) Cheers -- t
Hmm, what means struct here? Tried a little program to answer a quiz in https://www.futurelearn.com/courses/how-computers-work/4/steps/551852/questions/3:;; If the head is in state A at the position shown below, what would the final output of this Turing machine be?
;; |0|0|0|0|1|1|0|0|0| ;; ^ Started that way: [leaving out here z_B - z_E] (defun z_A (zeichen pos) ;; Char: 1 (49, #o61, #x31) (when (eq 49 (aref zeichen pos)) (aset zeichen pos 48) (z_B zeichen (1- pos)))) (defun zeichenmachine () (interactive) (let ((zeichen "000011000") (pos 5)) (message "%s" zeichen) (z_A zeichen pos))) But that was easier to read: [leaving out here state_B - state_E] (defun state_A (elist pos) (if (eq 1 (nth pos elist)) (progn (setf (nth pos elist) 0) (state_B elist (1- pos))) (message "Fertig %s" elist))) (defun statemachine () (interactive) (let ((elist (list 0 0 0 0 1 1 0 0 0)) (pos 5)) (state_A elist pos)))
[Prev in Thread] | Current Thread | [Next in Thread] |