level 9
sevk
楼主
Ruby 1.9: 中文编程
突然想起,Ruby 1.9支持中文方法名和变量名!
Ruby代码
def 召唤 家丁
case 家丁
when '阿福', '旺财'
puts "……少爷,我系#{家丁}……"
else
puts '……(一段短短的沉默,然后一段长长的沉默)'
end
end
家丁甲, 家丁乙 = %w[阿福 旺财]
召唤 家丁甲
哼哼,我们可以改造黄瓜或者阿死别克了
Ruby代码
alias 龙门阵 Story
alias 角色扮演 Scenario
alias 假设 Given
alias 当 When
alias 而且 And
alias 于是 Then
不过还是有些限制,类和模块不能用中文名打头(开头加上大写字母还是可以的)
Ruby代码
class 家丁
end
#=>error: class/module name must be CONSTANT
class Q宝宝
end
#ok
观众可能会问: if then 怎么整?先想想,大致用法应该是这样吧
Ruby代码
如果 女的, 那么{问三围}, 否则{讲再见}
实现起来,我们可以定义如果-那么-否则如下
Ruby代码
def 那么 &块
块
end
def 否则 &块
块
end
def 如果 条件, 真块, 假块=->(){nil}
条件 ? 真块.call : 假块.call
end
试一试
Ruby代码
def 问三围
puts '小……小柠檬?!小蜜瓜?!不想活了?!'
end
def 讲再见
puts '不是讲好一小时见血任做吗?你跑不掉的……hehehe……'
end
[true, false].each {|女的|
如果 女的, 那么{问三围}, 否则{讲再见}
}
继续汉化def——很简单
Ruby代码
alias 定义 define_method
文章太长不好,就此打住~
参考文献:
《窈窕淑女》,《零之使魔》,《买凶拍人》
2010年06月07日 05点06分
1
突然想起,Ruby 1.9支持中文方法名和变量名!
Ruby代码
def 召唤 家丁
case 家丁
when '阿福', '旺财'
puts "……少爷,我系#{家丁}……"
else
puts '……(一段短短的沉默,然后一段长长的沉默)'
end
end
家丁甲, 家丁乙 = %w[阿福 旺财]
召唤 家丁甲
哼哼,我们可以改造黄瓜或者阿死别克了
Ruby代码
alias 龙门阵 Story
alias 角色扮演 Scenario
alias 假设 Given
alias 当 When
alias 而且 And
alias 于是 Then
不过还是有些限制,类和模块不能用中文名打头(开头加上大写字母还是可以的)
Ruby代码
class 家丁
end
#=>error: class/module name must be CONSTANT
class Q宝宝
end
#ok
观众可能会问: if then 怎么整?先想想,大致用法应该是这样吧
Ruby代码
如果 女的, 那么{问三围}, 否则{讲再见}
实现起来,我们可以定义如果-那么-否则如下
Ruby代码
def 那么 &块
块
end
def 否则 &块
块
end
def 如果 条件, 真块, 假块=->(){nil}
条件 ? 真块.call : 假块.call
end
试一试
Ruby代码
def 问三围
puts '小……小柠檬?!小蜜瓜?!不想活了?!'
end
def 讲再见
puts '不是讲好一小时见血任做吗?你跑不掉的……hehehe……'
end
[true, false].each {|女的|
如果 女的, 那么{问三围}, 否则{讲再见}
}
继续汉化def——很简单
Ruby代码
alias 定义 define_method
文章太长不好,就此打住~
参考文献:
《窈窕淑女》,《零之使魔》,《买凶拍人》