论坛首页 编程语言技术论坛

Ruby 1.9: 中文编程

浏览 19035 次
该帖已经被评为精华帖
作者 正文
   发表时间:2009-03-21  
其实问题不大,做一个全局替换就可以了……
0 请登录后投票
   发表时间:2009-03-30  
我觉得……如果不是全中文化的话,切换输入法都要切半天
另外,DateTime.new(1949, 10, 1).nong_li.zodiac <=这个要加载什么库才能用啊?
  • 大小: 4.4 KB
0 请登录后投票
   发表时间:2009-04-09  
kiol 写道
你说的1.8就支持了啊?
谁能说说1.9比1.8对中文支持好在哪里?


好在String有了encoding,不过也差在String有了encoding。。

0 请登录后投票
   发表时间:2009-08-04  
不错的想法....
0 请登录后投票
   发表时间:2009-08-04  
没啥用,用英语编习惯了,而且还能学英语,多好。。。。
0 请登录后投票
   发表时间:2009-08-05  
哎,又是一个拿国家科研经费的。
0 请登录后投票
   发表时间:2009-08-06  
dennis_zane 写道
话说难道大家没看出来,这个是很有前途的呀,定义中文DSL给业务人员使用。


正解
0 请登录后投票
   发表时间:2009-09-20   最后修改:2009-09-20

irb(main):037:0> module Kernel
irb(main):038:1>   def √(num)
irb(main):039:2>   end
irb(main):040:1>   def ∑(*args)
irb(main):041:2>     args = args.map{|a| a.is_a?(Range)? a.to_a : a}.flatten
irb(main):042:2>     args.inject{|sum, n| sum + n}
irb(main):043:2>   end
irb(main):044:1> end
=> nil
irb(main):045:0> puts ∑(1, 2, 3)
6
=> nil
irb(main):046:0> puts ∑ 1..100
5050
=> nil
irb(main):047:0> puts ∑ 1..100, 200..300, 400
30700
=> nil
irb(main):048:0>




module Kernel
  def √(num)
    Math.sqrt(num)
  end
end

def ∞
  1.0 / 0
end

class Float
  def ∈(range)
    range.include?(self)
  end
end


#这个点该如何去掉呢??
irb(main):113:0> (√ 2).∈(1..∞)
=> true


irb(main):114:0> Kernel.class_eval do
irb(main):115:1*   alias_method :λ, :lambda
irb(main):116:1> end
=> Kernel
irb(main):117:0>
irb(main):118:0* (λ { puts 'hi' }).call
hi

受此贴启发..http://stackoverflow.com/questions/22764/how-does-ruby-1-9-handle-character-cases-in-source-code
0 请登录后投票
   发表时间:2009-09-20   最后修改:2009-09-20
gem install superators

class Float
  superator "∈" do |operand|  
    operand.include?(self)
  end  
end


#这个点该如何去掉呢??
irb(main):113:0> (√ 2)∈(1..∞)
=> true







0 请登录后投票
   发表时间:2009-10-23  
rainlife 写道
哎,又是一个拿国家科研经费的。

只要有关系名目,你写两个SQL都能拿国家科研经费啦
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics