Відповідь: a.τwτ
але вам потрібно спочатку встановити Pyper ...
Піпер вступ: Ви знаєте Ліспі car
і cdr
повертаєте "перший" і "відпочинок" масиву? Тільки для потреб, як ваша, я зробив розширення цього механізму Ліспі. Він називається 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)
Але інші символи команди занадто гарячі і не дуже прості у використанні на даний момент.