|
From: | Juergen Sauermann |
Subject: | Re: [Bug-apl] Cell grid in ⎕CR output? |
Date: | Fri, 28 Mar 2014 17:39:14 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130330 Thunderbird/17.0.5 |
Hi Elias,
this is actually not so easy and I can imaging a number of inner/outer line styles that could become too complex for a ⎕CR mode to be useful. How about using APL? Like: A←'╔╗╚╝║═╦╩╠╣╬║═' ⍝ all lines double A←'╔╗╚╝║═╤╧╟╢┼│─' ⍝ outside lines double, inside lines single B←3 4⍴1 2 3 4 'a' 'b' 'cde' 'f' 9 10 11 12 ∇Z←A GRID B;⎕IO;B1;C1;C2;X;Y;ZX;ZY ⎕IO←1 ⍝ add vertical lines, remember their X-coordinates in X B1←(⊃,/⊃¨{ A[12],⍕B[;,⍵] }¨⍳¯1↑⍴B),A[5] ◊ B1[;1]←A[5] C1←(⊃,/⊃¨{ ' ',⍕B[;,⍵]} ¨⍳¯1↑⍴B),' ' X←B1[1;] ≠ C1[1;] ⍝ add horizontal lines, remember their Y-coordinates in Y (ZY ZX)←⍴Z←A[6]⍪(2 1×⍴B1)⍴B1,[1.5]A[13] ◊ Z[ZY;]←A[6] C2←' '⍪(2 1×⍴C1)⍴C1,[1.5]' ' ◊ Y←Z[;2] ≠ C2[;2] ⍝ (Y⌿X/Z)←A[11] ⍝ crosses (X/Z[1;])←A[7] ◊ (X/Z[ZY;])←A[8] ⍝ top/bottom lines (Y⌿Z[;1])←A[9] ◊ (Y⌿Z[;ZX])←A[10] ⍝ left/right lines Z[1,ZY; 1,ZX]←2 2⍴A ⍝ corners ∇ A GRID B ╔═╤══╤═════╤══╗ ║1│ 2│ 3 │ 4║ ╟─┼──┼─────┼──╢ ║a│ b│ cde │ f║ ╟─┼──┼─────┼──╢ ║9│10│ 11 │12║ ╚═╧══╧═════╧══╝ /// Jürgen On 03/26/2014 02:35 PM, Elias Mårtenson wrote:
|
[Prev in Thread] | Current Thread | [Next in Thread] |