成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用pp()實現Ruby輸出二維數組

開發 開發工具
Ruby輸出二維數組可以通過pp()函數來實現。雖然方式比較簡單,但是缺陷還是有的,就是二維數組只能顯示在一行中。

Ruby語言中對于數組的處理方式較之其他編程語言來說還是比較簡便的。那么,我們就先來一起了解一下Ruby輸出二維數組的相關技巧。#t#

用Ruby的pp()函數可以以很漂亮的方式輸出數組。不過美中不足的是會將二維數組顯示在一行上。我們希望它能夠以每行一個子數組的方式進行輸出。

其實PP是一個挺不錯的用于輸出對象的框架(雖說好像是小日本寫的)。要想實現上面Ruby輸出二維數組的效果,只需要在Array#pretty_print()函數的默認實現中添加一行代碼就可以實現!代碼如下(文件名“pp_extension.rb”):

  1. # Outputs two-dimension 
    array like matrix  
  2. class Array  
  3. def pretty_print(q)  
  4. q.group(1, '[', ']') {  
  5. q.seplist(self) {|v|  
  6. q.current_group.break if v.is
    _a?(Array) && !q.current_
    group.first? # added by me  
  7. 7q.pp v  
  8. }  
  9. }  
  10. end  
  11. end 

您一定以為我很了解PrettyPrint和PP的實現原理吧?其實不是的。我只是粗略的看了一下這兩個類的源代碼(它們在C:\ruby\lib\ruby\1.8\),然后猜測它的實現方法是用group()函數對對象中的信息進行分組,然后遞歸調用pp()函數輸出每組信息。

之后我Copy了Array#pretty_print()函數的默認實現,嘗試著稍作修改而已。所以我也沒有辦法為您詳細剖析PP的Ruby輸出二維數組實現方法了,希望這篇文章能夠給您帶來一些靈感,起到拋磚引玉的作用。也許以后有時間我會仔細的看一下它們的源代碼的。

PS:用修改后的pp()輸出三維數組也可以的,您可以試一下。

責任編輯:曹凱 來源: 博客園
相關推薦

2009-11-16 17:41:41

PHP二維數組

2009-11-17 16:09:04

PHP二維數組排序

2010-07-19 13:06:13

Perl二維數組

2021-01-15 08:19:26

二維數組LeetCode

2009-11-16 17:07:58

PHP二維數組

2009-09-16 17:29:10

Linq查詢二維數組

2010-07-13 15:15:49

Perl二維數組

2009-08-07 10:12:09

C#二維數組

2022-01-19 11:34:01

語言malloc()二維數組

2021-02-20 20:27:44

數組前綴性能

2009-11-17 09:46:31

PHP二維數組賦值

2010-03-05 14:05:02

Python二維數組

2010-01-14 17:58:41

C++語言

2009-11-25 11:14:12

PHP二維數組賦值

2009-09-18 11:33:37

C#二維數組初始化

2009-09-02 10:23:52

C#動態二維數組

2024-06-26 08:46:45

2010-07-19 13:17:12

Perl二維數組

2010-02-04 16:26:54

C++二維數組new

2009-11-24 17:25:00

PHP二維數組排序
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人在线一区二区 | 精品成人免费一区二区在线播放 | 91视频电影 | 亚洲精品一区中文字幕乱码 | 国产精品视频在线免费观看 | 国产精品视频www | 中文字幕精品一区二区三区精品 | 99久久精品免费看国产免费软件 | 亚洲乱码国产乱码精品精98午夜 | 一区二区三区视频 | 在线观看免费av网 | 日韩快播电影网 | 99re视频精品| 日本久草视频 | 在线视频一区二区 | 天天弄天天操 | 69堂永久69tangcom | 99九九视频 | 欧美日本一区 | www.887色视频免费 | 午夜爽爽爽男女免费观看 | 免费观看国产视频在线 | 国产成人精品一区 | 国产色| 国产精品免费在线 | 成人精品在线视频 | 日韩av成人 | 狠狠干天天干 | 国产精品久久福利 | 午夜精品一区二区三区在线播放 | 国产成人精品高清久久 | 久草免费在线视频 | 久久久爽爽爽美女图片 | 日本精品一区二区三区在线观看视频 | 黄色综合 | 亚洲三区在线观看 | 欧美极品一区二区 | 成人国内精品久久久久一区 | 久久a久久 | 成人精品国产一区二区4080 | 在线欧美小视频 |