ruby 中文编程
ruby吧
全部回复
仅看楼主
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
level 9
sevk 楼主
2010年06月07日 05点06分 2
level 1
除了必要的常量名不完美支持中文,就是Ruby1.8.6也可以支持中文。
不过Ruby的中文编程似乎没意思,这个功能是所谓的E的噱头。
2010年06月20日 08点06分 3
1