Ответ: a.τwτ
, но вы должны установить Pyper сначала ...
Pyper intro: Знаете ли вы Lispy car
и cdr
, возвращающие "first" и "rest" массива? Просто для нужд, подобных вашей, я сделал расширение этого механизма Lispy. Она называется pyper
и позволяет вам также получить доступ ко 2-му, отдыху со 2-го, 3-го, отдыху из 3d, а также последнему, ко всему, кроме последнего и т. Д. Об этом писать особо нечего, но также можно составлять буквы точно так же как caar
, cadr
, cdadar
и т. д., известные из 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)
и, наконец, ответ на ваш вопрос:
a.τwτ #=> ["lorem", "ipsum", "dolor", "sit"] (all except last)
Есть еще:
a.τuτ #=> ["lorem", "ipsum", "dolor"] (all except last 2)
a.τ1τ #=> ["lorem", "ipsum"] (first 2)
a.τ8τ #=> (last 2)
a.τ7τ #=> (last 3)
Сочинения:
a.τwydτ #=> "olor" (all except 1st letter of the last word of all-except-last array)
Также имеется больше командных символов, чем просто a..f
, u..z
и 0..9
, наиболее заметно m
, что означает карту:
a.τwmbτ #=> ["o", "p", "o", "i"] (second letters of all-except-last array)
Но другие командные символы слишком горячие и не очень удобны в использовании.