`
hideto
  • 浏览: 2679504 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

穿鞋上路

    博客分类:
  • Ruby
阅读更多
Shoes是Ruby的一个简单的桌面程序库

下载Shoes,将shoes.exe加入path
看看Hello World例子hello.rb:
Shoes.app do
 button "Press Me" do
  alert "Hello Shoes!"
 end
end

运行shoes hello.rb即可

再看看自带的计算器的例子:
class Calc
  def initialize
    @number = 0
    @previous = nil
    @op = nil
  end

  def to_s
    @number.to_s
  end
  
  (0..9).each do |n|
    define_method "press_#{n}" do
      @number = @number.to_i * 10 + n
    end
  end

  def press_clear
    @number = 0
  end

  {'add' => '+', 'sub' => '-', 'times' => '*', 'div' => '/'}.each do |meth, op|
    define_method "press_#{meth}" do
      if @op
        press_equals
      end
      @op = op
      @previous, @number = @number, nil
    end
  end

  def press_equals
    @number = @previous.send(@op, @number.to_i)
    @op = nil
  end

end

number_field = nil
number = Calc.new
Shoes.app :height => 250, :width => 200, :resizable => false do
  background "#EEC".."#996", :radius => 5,
    :top => 2, :left => 2, :width => -4, :height => -4

  stack :margin => 4 do

    stack :margin => 8 do
      number_field = text "<b>#{number}</b>"
    end

    flow :width => 218, :margin => 4 do
      %w(7 8 9 / 4 5 6 * 1 2 3 - 0 Clr = +).each do |btn|
        button btn, :width => 46, :height => 46 do
          method = case btn
            when /[0-9]/: 'press_'+btn
            when 'Clr': 'press_clear'
            when '=': 'press_equals'
            when '+': 'press_add'
            when '-': 'press_sub'
            when '*': 'press_times'
            when '/': 'press_div'
          end
          
          number.send(method)
          number_field.replace "<b>#{number} </b>"
        end
      end
    end
  end

end

用Block、Closure的方式来开发桌面程序,代码非常的清晰简洁

Shoes目前支持OS X、XP、Vista、Debian、Ubuntu,跨平台做的也非常不错
分享到:
评论

相关推荐

    高压线下施工安全专项方案设计.doc

    - 现场控制:设置安全警示标志,用红色标杆标示安全施工净空高度,强调个人防护,如佩戴安全帽、绝缘手套、防护鞋等,严禁穿拖鞋进入。 - 挖装作业需专人指挥,避免施工机械触及高压线,必要时通知电力部门参与...

    驾驶员安全技术交底.docx

    7. **车辆保养**:定期进行车辆保养,确保车辆处于良好的工作状态,禁止故障车上路。 8. **应急设备**:车辆上应配备必要的临时维修工具和安全标志,如千斤顶、三角警示牌、灭火器等。 9. **危险品运输**:如需...

    2022年医院救护车驾驶员岗位试题终版.pdf

    4. 车辆安全与维护:制动器失效的车辆需用硬连接牵引,禁止穿拖鞋、吸烟、饮食以及与乘客交谈驾驶,这些都是保障行车安全的重要规定。 5. 驾驶证与酒驾:驾驶员不能将车辆交给无驾驶证的人,且禁止酒后驾驶。这些...

    女司机驾车七个技巧.docx

    5. **选择合适的鞋子**:避免穿高跟鞋、厚底鞋或拖鞋驾驶,这些鞋类可能影响刹车和油门的操作。准备一双平底鞋在车内,以确保驾驶时的安全。 6. **合理装饰车内空间**:过多的饰品会影响视线,甚至在急刹车时成为...

    机动车 安全操作规程.docx

    6. 车辆安全设备:制动器、转向器、灯光装置等必须完好有效,失效时车辆不能上路。 7. 牵引规定:转向器或制动器失效的车辆,不得用软连接牵引,且某些特殊车辆如起重机、轮式专用机械车禁止拖带挂车或牵引其他车辆...

    垃圾清运驾驶员作业管理制度.pdf

    6. 行车行为规范:禁止穿拖鞋驾驶,禁止行车中闲谈、吃东西、酒后驾车,以及行车中接打电话。驾驶员应穿着公司发放的工作服。 7. 禁止吸烟:为了行车安全,驾驶员不得在车内吸烟。 8. 处理交通事故:若发生事故,...

    土方车辆运输安全技术交底.pdf

    11. **禁止违规行为**:严禁酒后上班、穿拖鞋上班,禁止打架斗殴,有特定疾病者禁止作业。 12. **临时用电管理**:严禁私拉乱接电线,须由专业电工接线。 13. **交通安全**:遵守交通规则,严禁无证驾驶、酒后骑车或...

    土方开挖安全技术措施.docx

    3. 施工现场要求工人佩戴安全帽,严禁穿高跟鞋、裙子、拖鞋等不适宜的服装。 4. 严禁酒后作业和酒后驾驶。 5. 禁止违章驾驶和超车,同时,驾驶时禁止使用手机,避免分心。 6. 检查车辆状态,确保制动有效,严禁带...

    新手开车快速入门6大法门.docx

    同时,穿平底鞋驾驶也有利于准确踩踏刹车。 六、正确使用手刹 无论何时停车,都要记得拉起手刹。这是一个良好的安全习惯,即使手刹损坏,维修成本也相对较低。尤其在进入车库取卡时,不要边踩刹车边探身取卡,这样...

    驾照科目一考试题及答案.doc

    6. 穿高跟鞋驾驶:女驾驶人穿高跟鞋驾驶车辆存在安全隐患,不利于安全行车,应避免此类行为。 7. 驾驶证换证:如果驾驶人在驾驶证核发地以外的地方居住,可以向居住地车辆管理所申请换证。 8. 违规行为判断:驾驶...

    汽车司机岗前培训考试题.pdf

    此外,女性驾驶员不应穿高跟鞋驾驶,以免影响安全。 3. **驾驶技能与安全**:在湿滑或冰雪路面上,应降低车速并保持安全距离,避免紧急制动和急转向,以防车辆侧滑。在人行横道和铁路平交道口,应礼让行人。在遇到...

    汽车修理厂安全隐患自查自纠记录借鉴.pdf

    2. 维修技术规范:按照《汽车维修、检测、诊断技术规范》进行作业,可以确保车辆维修质量,定期的安全检查和严格执行报废制度有助于防止不安全车辆上路。 3. 消防设备:配备足够的消防器材,如灭火器和消防沙,是...

    小学生交通安全知识竞赛题及答案.pdf

    2. 雪天行走注意防滑:尽量穿防滑鞋,避免在结冰的道路上跑步或玩耍。 3. 避免恶劣天气出行:在大风、暴雨、雷电等恶劣天气尽量减少外出。 六、紧急情况处理 1. 遇到交通事故不要围观:保持冷静,迅速离开事故现场...

    小学生安全教育常识(十二条).doc

    5. 如无法切断电源,采取绝缘措施(如穿绝缘鞋,戴绝缘手套)进行救助,使用绝缘物品挑开电线。 6. 遇到触电事故,小学生应及时通知大人或拨打急救电话求助。 六、自我保护须知 1. 对于陌生人来访,确认身份后再...

    驾驶员礼仪素养培训课件.pptx

    在车辆出车前要进行必要的检查,防止故障车辆上路。即使面对紧急情况,也不能忽视行车安全,禁止盲目高速行驶。 2. **文明驾驶**:司机需坚持礼让三先,即先让、先慢、先停,并秉持“宁停三分,不抢一秒”的原则。...

    建筑施工安全“十不准”,请时刻铭记记在心里!_1.docx

    - 工作人员不能穿可能导致静电的衣物进入油气区,因为静电可能引燃易燃气体。 - 禁止穿着带有铁钉的鞋进入油气区和易燃易爆区,以免摩擦产生火花。 - 不允许使用汽油等易挥发性溶剂擦洗设备,以防止挥发气体积聚...

    中小学安全知识竞赛题.docx

    32. **运动安全**:穿带铁钉的足球鞋参加足球比赛可能增加受伤风险。 33. **火灾逃生**:火灾中遇到浓烟,应匍匐前进,避免吸入有毒烟雾。 这些安全知识对于中小学生来说至关重要,可以帮助他们在日常生活中预防...

Global site tag (gtag.js) - Google Analytics