Trả lời : a.τwτ
, nhưng bạn phải cài đặt Pyper trước ...
Giới thiệu Pyper: Bạn có biết Lispy car
và cdr
trả về "đầu tiên" và "phần còn lại" của mảng không? Chỉ với những nhu cầu như của bạn, tôi đã thực hiện một phần mở rộng của cơ chế Lispy này. Nó được gọi pyper
và nó cho phép bạn truy cập cả thứ 2, phần còn lại từ thứ 2, thứ 3, phần còn lại từ 3d và cuối cùng, mọi thứ trừ cuối cùng, v.v. Điều đó sẽ không có gì nhiều để viết, nhưng nó cũng cho phép sáng tác chữ cái, giống như caar
, cadr
, cdadar
, vv được biết đến từ 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)
và cuối cùng, câu trả lời cho câu hỏi của bạn:
a.τwτ #=> ["lorem", "ipsum", "dolor", "sit"] (all except last)
Có nhiều:
a.τuτ #=> ["lorem", "ipsum", "dolor"] (all except last 2)
a.τ1τ #=> ["lorem", "ipsum"] (first 2)
a.τ8τ #=> (last 2)
a.τ7τ #=> (last 3)
Sáng tác:
a.τwydτ #=> "olor" (all except 1st letter of the last word of all-except-last array)
Ngoài ra còn có nhiều ký tự lệnh hơn là a..f
, u..z
và 0..9
đáng chú ý nhất m
là bản đồ:
a.τwmbτ #=> ["o", "p", "o", "i"] (second letters of all-except-last array)
Nhưng các nhân vật lệnh khác quá nóng và không dễ sử dụng vào lúc này.