智慧水务软件使用Ruby进行二次开发—基础入门篇

Posted 水务ICT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了智慧水务软件使用Ruby进行二次开发—基础入门篇相关的知识,希望对你有一定的参考价值。

Hello,大家好,我叫陈泽伟,是一名水力模型工程师/智慧水务开拓者。接着上一篇文章,

今天给大家带来更加详细的Ruby基础入门篇。

第一课:变量

打开subtext,输入下列变量,然后在ICM运行该ruby,在对应的Scriptoutput就会输出之前定义的变量a,bc.

智慧水务软件使用Ruby进行二次开发—基础入门篇(二)


通过这个例子可以发现,每个变量,它既可以是数值(value),也可以是字符(string)。唯一的区别就是如果是字符的要需要加一个双引号“”

好的,接下来我们来熟悉一个使用公式进行简单计算:

智慧水务软件使用Ruby进行二次开发—基础入门篇(二)

智慧水务软件使用Ruby进行二次开发—基础入门篇(二)

我相信,这里面每个结果都在咱们意料之中。这个就不要我多说什么了,大家一看明白了。


进行数值计算的时候,唯一需要注意的是整数(integer)和浮点数(floating),它们的区别通过下面这个例子来告诉大家。

智慧水务软件使用Ruby进行二次开发—基础入门篇(二)


Ruby会和绝大都是语言一样(包括GISOracle, Access数据库),把所有数值分为上述两种,整数和浮点;整数就是1,5,6,8,123等不含小数的整数。如果要进行小数位置的计算,比如1.2*5什么的,就需要把这个数值定义成浮点数。那么怎么告诉Ruby我们需要进行浮点计算了?很简单,就和上文说明的一致,在一个数值后面加上一个.0即可。

当然日常工作不单单是数值的计算,也包括字符的计算,接下说一下如何进行字符的简单计算。

智慧水务软件使用Ruby进行二次开发—基础入门篇(二)

智慧水务软件使用Ruby进行二次开发—基础入门篇(二)




上文的字符计算很是简单,把字符放入“”中去,然后通过+相连接即可。


报错信息的查看

就和建模一样,没有人写代码不要到报错,遇到报错不可怕,关键是如何通过报错信息进行相关debug。下面我给大家说两个常见的错误信息以及如何查看。


智慧水务软件使用Ruby进行二次开发—基础入门篇(二)

智慧水务软件使用Ruby进行二次开发—基础入门篇(二)

大家看,报错信息的第一行是class=NameError,但是这个不是重点,重点咱们看第二行:undefined local varable or method ‘richard’:这个意思就是因为你没有给richard加双引号,它就默认你的richard是一个变量,但是这个变量你又没有给它赋值,所以输出的时候它就报错了。当然,如果你给它加上双引号,把它当成一个字符,那就另当别论了。

所以正确的输出方法应该是:

Puts “richard”

好,我们来看第二个报错:

智慧水务软件使用Ruby进行二次开发—基础入门篇(二)

智慧水务软件使用Ruby进行二次开发—基础入门篇(二)

和第一个报错一样,关键看第二行:不能用0当除数。

 

经过我这个一解释,是不是觉得原来杂乱无章,让人头痛的报错问题现在一眼就能找到问题出在哪里了吗?


Method方法介绍

接下来和大家稍微说一个ruby里面Method的使用方法,ruby里面自带了一系列的方法,帮助我们队数据进行相关的处理,下面简单给大家做几个示范。

智慧水务软件使用Ruby进行二次开发—基础入门篇(二)

智慧水务软件使用Ruby进行二次开发—基础入门篇(二)

如上图所示,.length这个method可以读到这个字符含有几个字母,.capitalize是让字符首字母大写,upcasedowncase是让字符分别大小写,swapcase是让现有大小写转化,reverse是让字符反转。

ICM里面支持很多的ruby原生method,具体大家可以在帮助文件里面搜索“ruby”进行相关学习。

好啦,ruby简单介绍第二章结束了,今天给大家介绍了变量,字符,如果查看报错信息还有方法的使用,希望能对ruby的初学者有所帮助。

 

前几天看了小米创始人雷军的一篇文章,很受感动。

https://zhuanlan.zhihu.com/p/36119840

雷军一句“始终坚持做感动人心,价格厚道的好产品,让全球每个人都能享受科技带来的美好生活”给我看的热泪盈眶。虽然我不是米粉,但我是高度认可雷军的理念和思维的。现在的我,虽然还没有能力和雷军一样做出感动人心,价格厚道的产品,但是我希望通过我和我们团队的努力,给从事智慧水务的朋友们提供“感动人心,价格厚道”的好服务。我们会坚持在物联网上免费给大家传递最新的行业资讯和资料分享,努力帮助到各位有理想,有激情的人们,正如我敬重的荷兰导师所说:调直座椅靠背调低预期但请保持昂扬斗志,收起小桌板收起玻璃心但请不要收起滚烫的初心,前路漫漫任凭直挂云帆起,滚滚尘世间策马扬鞭砥砺前行。

全球智库,为你服务。亲爱的朋友,我们下期再见。



以上是关于智慧水务软件使用Ruby进行二次开发—基础入门篇的主要内容,如果未能解决你的问题,请参考以下文章

EMQ 助力青岛研博建设智慧水务平台

智慧化水务:降低污水处理过程中人力能耗成本

长三角生态绿色一体化发展示范区开发者大会“吸睛王”来袭——智慧水务特展绽异彩

智慧水务未来技术发展方向预测探讨

智慧水务网关解决方案

智慧水务系统如何进行有效的数据架构整改?三个企业的改造实践分享