這個叫做地球的星球上,好像各種各樣好的壞的莫名其妙的語言已經夠多的了,還有無聊的家伙搞出來過一個莫名其妙的什麼“干你腦”語言(BrainFuck),那叫一吐血,怎麼現在又冒出來一個啥子語言?其實這個東西還真的挺有用的,它是一種繪制流程圖的語言。廢話少說,裝上試試就知道了(下面命令只適用於Debian/Ubuntu系的Linux發行版操作系統,如使用其他操作系統,請到官網下載安裝)。
sudo apt-get install graphviz
不是說是DOT語言嗎?怎麼裝了一個叫graphviz的東西?其實DOT語言就是GraphViz使用的流程描述語言。當然,graphviz也支持其他的幾種圖形描述語言,以生成更多種類的圖形,當然,最常用的還是這個DOT語言。裝好了後,就可以繼續了。
來個最基本的流程圖,我們來看看這個語言到底有什麼神奇之處?把下面的代碼隨便用任何一款文本編輯器,保存為test.dot文件。
digraph G { a -> b -> c -> a; }
然後,在這個文件的目錄中:
$ dot -Tpng test.dot -o test.png
現在,用看圖軟件,看一下生成的test.png文件,是不是很神奇?
目前尚未找到好的DOT可視化編輯器,似乎也沒這個必要。當然,可預覽編輯還是有的。可以用vimdot命令。如我們編輯上面的test.dot文件,就可以用下面的命令:
$ vimdot test.dot
它會同時打開兩個窗口,一個是vim,另一個就是graphviz的預覽窗口,當你在vim中編輯dot代碼完畢,存盤後,預覽窗口就會更新顯示出該dot文件的生成結果。
當然不是,如果要復雜,DOT語言可以十分復雜,當然,我們大部分情況下是根本不需要那麼多復雜的功能的。在後面的筆記中,會逐步介紹我經常用到的各種常用的DOT語言屬性。比方說生成如下圖這樣的: