ちょー簡易な電卓を作ってみました
勉強がてら電卓を作ってみました。
計算機能はevalに任せてしまった安易なものです。
いまさら電卓のサンプルなんて作ってもあまり新鮮味はないですが。。。
それでもやっぱり一度は作っておかないとネ。
require 'rubeus' Rubeus::Swing.irb JFrame.new "dentaku" do |f| f.layout = BoxLayout.new :Y_AXIS @field = JTextField.new @field.editable = false @field.preferred_size = "200x20" @field.background = Color::GREEN JPanel.new do |pn| pn.layout = GridLayout.new(4,5) ['7','8','9','/', 'C', '4','5','6','*', '(', '1','2','3','+', ')', '0','.','<','-', '='].each do |n| case n when 'C' JButton.new n do @field.text = '' end when '=' JButton.new n do begin @field.text = eval(@field.text).to_s rescue SyntaxError puts "Error" @field.text = '' end end when '<' JButton.new n do @field.text = @field.text.chop end when /^.+$/ JButton.new n do @field.text += n end else JLabel.new #dummy end end end f.location_relative_to = nil f.pack f.visible = true end
なんとか50行ぐらいに収まりました。
使い道はあんまりないんで本当に勉強用って感じです。
でも、ものすごい桁数の多い計算できます。Rubyのよさですネ。
とりあえず、ここまで。