智慧水務軟體使用Ruby進行二次開發—基礎入門篇(二)

智慧水務軟體使用Ruby進行二次開發—基礎入門篇(二)

來自專欄 城市水建模

Hello,大家好,我叫陳澤偉,是一名水力模型工程師/智慧水務開拓者。接著上一篇文章,

我叫陳大可:智慧水務軟體二次開發入門介紹篇—使用ruby對ICM進行一些簡單的操作?

zhuanlan.zhihu.com圖標

今天給大家帶來更加詳細的Ruby基礎入門篇。

第一課:變數

打開subtext,輸入下列變數,然後在ICM運行該ruby,在對應的Script

output就會輸出之前定義的變數a,b和c.

通過這個例子可以發現,每個變數,它既可以是數值(value),也可以是字元(string)。唯一的區別就是如果是字元的要需要加一個雙引號「」

好的,接下來我們來熟悉一個使用公式進行簡單計算:

我相信,這裡面每個結果都在咱們意料之中。這個就不要我多說什麼了,大家一看明白了。

進行數值計算的時候,唯一需要注意的是整數(integer)和浮點數(floating),它們的區別通過下面這個例子來告訴大家。

Ruby會和絕大都是語言一樣(包括GIS,Oracle, Access資料庫),把所有數值分為上述兩種,整數和浮點;整數就是1,5,6,8,123等不含小數的整數。如果要進行小數位置的計算,比如1.2*5什麼的,就需要把這個數值定義成浮點數。那麼怎麼告訴Ruby我們需要進行浮點計算了?很簡單,就和上文說明的一致,在一個數值後面加上一個.0即可。

當然日常工作不單單是數值的計算,也包括字元的計算,接下說一下如何進行字元的簡單計算。

上文的字元計算很是簡單,把字元放入「」中去,然後通過+相連接即可。

報錯信息的查看

就和建模一樣,沒有人寫代碼不要到報錯,遇到報錯不可怕,關鍵是如何通過報錯信息進行相關debug。下面我給大家說兩個常見的錯誤信息以及如何查看:

大家看,報錯信息的第一行是class=NameError,但是這個不是重點,重點咱們看第二行:undefined local varable or method 『richard』:這個意思就是因為你沒有給richard加雙引號,它就默認你的richard是一個變數,但是這個變數你又沒有給它賦值,所以輸出的時候它就報錯了。當然,如果你給它加上雙引號,把它當成一個字元,那就另當別論了。

所以正確的輸出方法應該是:

Puts 「richard」

好,我們來看第二個報錯:

和第一個報錯一樣,關鍵看第二行:不能用0當除數。

經過我這個一解釋,是不是覺得原來雜亂無章,讓人頭痛的報錯問題現在一眼就能找到問題出在哪裡了嗎?

Method方法介紹

接下來和大家稍微說一個ruby裡面Method的使用方法,ruby裡面自帶了一系列的方法,幫助我們隊數據進行相關的處理,下面簡單給大家做幾個示範。

如上圖所示,.length這個method可以讀到這個字元含有幾個字母,.capitalize是讓字元首字母大寫,upcase和downcase是讓字元分別大小寫,swapcase是讓現有大小寫轉化,reverse是讓字元反轉。

ICM裡面支持很多的ruby原生method,具體大家可以在幫助文件裡面搜索「ruby」進行相關學習。

好啦,ruby簡單介紹第二章結束了,今天給大家介紹了變數,字元,如果查看報錯信息還有方法的使用,希望能對ruby的初學者有所幫助。

前幾天看了小米創始人雷軍的一篇文章,很受感動。

雷軍:始終堅持做「感動人心、價格厚道」的好產品?

zhuanlan.zhihu.com圖標

雷軍一句「始終堅持做感動人心,價格厚道的好產品,讓全球每個人都能享受科技帶來的美好生活」給我看的熱淚盈眶。雖然我不是米粉,但我是高度認可雷軍的理念和思維的。現在的我,雖然還沒有能力和雷軍一樣做出感動人心,價格厚道的產品,但是我希望通過我和我們團隊的努力,給從事智慧水務的朋友們提供「感動人心,價格厚道」的好服務。我們會堅持在互聯網上免費給大家傳遞最新的行業資訊和資料分享,努力幫助到各位有理想,有激情的人們,正如我敬重的荷蘭導師所說:調直座椅靠背調低預期但請保持昂揚鬥志,收起小桌板收起玻璃心但請不要收起滾燙的初心,前路漫漫任憑直掛雲帆起,滾滾塵世間策馬揚鞭砥礪前行。

感興趣的朋友歡迎加入我們的智慧水務信息分享群:693875163 (請備註單位名加姓名)

全球智庫,為你服務。親愛的朋友,我們下期再見。

推薦閱讀:

為什麼要學習編程設計
求余和取模
一晚上糊出一個語言「前端」
如何學好HTML5?學Web前端需不需要基礎?
C語言基礎:指針做參數

TAG:編程 | 編程語言 | Python |