Ruby的优雅(C#版)

Ruby的优雅(C#版)

相比于C#ruby显得灰常的优雅。

设计上的:

不需要引用必须依赖的包

C#using System,在ruby的世界里是不存在的,没有必要反复强调这些规则。

 

非核心依赖包不需要重复引用

如果有2个类AB,都依赖于CC#必须在AB中都声明引用C。若是ruby,只需要在A或者B中声明一次即可,当然也可以在类似main的入口声明,这样的话AB都不用声明了。

 

完全面向对象

任何类型都是对象,很符合人的思维习惯。

数据类型转换

迭代

常用动作

 

自带了第三方包依赖管理工具

通常情况,任何一个项目都会依赖很多第三方的包。我们不可能把所有的包都复制到项目文件夹下,这样文件大小过大,也不好维护版本问题。Ruby提供了一个Gemfile的配置文件,只需要在里面写上依赖的包名+版本号,通过命令行运行bundle就可以自动去查找这些包了,如果本地没有就从网上下载。

语言规则:

变量不需要显示定义

例如声明一个字符串并赋值,s="123",不需要写成string s="123"。但是,未定义的变量直接使用是会报错的,这个就很智能了。

 

语法上的:

调用方法不用加()

行末不用加;

获取字符串的第N个字符

s = "lby_string"

puts s[N]

不需要用charAt的方法,直接当成数组来用吧。

 

取第一个和最后一个元素

a=[1,2,3,4]

puts a.first

puts a.last

 

读取文件

f=File.open("test.txt")

f.each_line do |l|

  puts l

end

 

判断是否为空

t.nil?

C#可能会这样写: if(t==null){}

 

求长度

a=[1,2,3,4]

puts a.size

puts a.size()

puts a.length

puts a.length ()

puts a.count

puts a. count ()

可以随心所欲,不必知道长度是一个属性还是一个方法。

转行类型

把一个字符串转行成整型,C#这样写:Convert.ToInt32(s)rubys.to_i

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值