Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re: Golf: Seven segment display

by kikuchiyo (Monk)
on Jan 18, 2012 at 12:38 UTC ( #948539=note: print w/replies, xml ) Need Help??

in reply to Golf: Seven segment display

Better approach:

sub w{for$;(-2..0){say map{substr' _ _|_ |_| |',2*ord(('u$SR,Z]dmj' +=~/./g)[$_])>>-3*$;&14,3}split//,$_[0]}}

Replies are listed 'Best First'.
Re^2: Golf: Seven segment display
by PrakashK (Pilgrim) on Jan 23, 2012 at 20:30 UTC

    Applying the ...=~/./g trick (which you already used once inside the map) again:

    sub w{for$;(-2..0){say map{substr'   _ _|_  |_| |',2*ord(('u$SR,Z]dmj'=~/./g)[$_])>>-3*$;&14,3}$_[0]=~/./g}}

      I think my idea is a "cul-de-sac" but this is a little bit shorter (7 char.).
      sub w{for$;(1005,924745596,341831533){say map{$;>>$_&1?/../?'|':_:$"}m +ap{$_+20,$_,$_+10}$_[0]=~/./g}}
      -- edit: Some explanations about 1005,924745596,341831533

        a few obvious optimizations:

        say map$'&2**$_?$_>9?'|':_:$",map{2 .$_,$_,1 .$_}split!//,"@_"for 1005,924745596,341831533

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://948539]
[james28909]: is this acceptable? Re: Iterate multiple arrays with added text
[james28909]: wooo im a 1337 hax0r!!!1!1

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (8)
As of 2017-05-23 22:09 GMT
Find Nodes?
    Voting Booth?