Risposta:, a.τwτ
ma devi prima installare Pyper ...
Introduzione di Pyper: conosci Lispy car
e cdr
restituisce "primo" e "resto" dell'array? Proprio per le esigenze come la tua, ho fatto un'estensione di questo meccanismo di Lispy. Si chiama pyper
e ti permette di accedere anche al 2o, resto dal 2o, 3o, resto da 3d, e anche ultimo, tutto tranne lo scorso ecc. Non sarebbe molto da scrivere, ma consente anche la composizione di lettere, proprio come caar
, cadr
, cdadar
ecc nota dal Lisp:
# First, gem install pyper
require 'pyper'
include Pyper
a = %w/lorem ipsum dolor sit amet/
# To avoid confusion with other methods, and also because it resembles a rain gutter,
# Greek letter τ is used to delimit Pyper methods:
a.τaτ #=> "lorem"
a.τdτ #=> ["ipsum", "dolor", "sit", "amet"]
a.τbτ #=> "ipsum"
a.τeτ #=> ["dolor", "sit", "amet"]
a.τcτ #=> "dolor" (3rd)
a.τzτ #=> "amet" (last)
a.τyτ #=> "sit" (2nd from the end)
a.τxτ #=> "dolor" (3rd from the end)
e infine, la risposta alla tua domanda:
a.τwτ #=> ["lorem", "ipsum", "dolor", "sit"] (all except last)
C'è dell'altro:
a.τuτ #=> ["lorem", "ipsum", "dolor"] (all except last 2)
a.τ1τ #=> ["lorem", "ipsum"] (first 2)
a.τ8τ #=> (last 2)
a.τ7τ #=> (last 3)
composizione:
a.τwydτ #=> "olor" (all except 1st letter of the last word of all-except-last array)
Ci sono anche più caratteri di comando che solo a..f
, u..z
e 0..9
, più in particolare m
, nel senso mappa:
a.τwmbτ #=> ["o", "p", "o", "i"] (second letters of all-except-last array)
Ma altri personaggi di comando sono troppo caldi e non molto facili da usare al momento.