文章目錄
C#版本摘自老趙點滴 - 追求編程之美 C#代碼using System;<br />using System.Linq;<br />using System.Text;</p><p>namespace ConsoleApplication1<br />{<br /> class Program<br /> {<br /> static void Print(string text, int offset)<br /> {<br /> text<br /> .Select((c, i) => new { Char = c, Index = i })<br /> .GroupBy(p => p.Index % offset, p => p.Char.ToString())<br /> .ToList()<br /> .ForEach(g => Console.WriteLine(string.Join("|", g.Reverse().ToArray())));<br /> }</p><p> static void Main(string[] args)<br /> {<br /> Print("床前明月光疑是地上霜舉頭望明月低頭思故鄉", 5);<br /> }<br /> }<br />}</p><p>//低|舉|疑|床<br />//頭|頭|是|前<br />//思|望|地|明<br />//故|明|上|月<br />//鄉|月|霜|光F#代碼open System</p><p>let print (text : string) offset =<br /> text.ToCharArray()<br /> |> Array.mapi (fun i c -> (i, c))<br /> |> Seq.groupBy (fun (i, _) -> i % offset)<br /> |> Seq.map (fun (_, s) -><br /> s<br /> |> Seq.map (fun (_, c) -> c.ToString())<br /> |> Seq.reduce (fun c1 c2 -> c2 + "|" + c1))<br /> |> Seq.iter (fun str -> printfn "%s" str)</p><p>print "床前明月光疑是地上霜舉頭望明月低頭思故鄉" 5</p><p>//低|舉|疑|床<br />//頭|頭|是|前<br />//思|望|地|明<br />//故|明|上|月<br />//鄉|月|霜|光