查看: 3007|回复: 4

rm计算器的实现(仅仅是想法)

  [复制链接]
梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
回帖
1175
发表于 2007-5-24 19:11:55 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
导: 计算器本身不是个很神秘的东西,系统自带就有一个,只是用rm实现而已
一,界面
   9个数字,5个运算符号,等等控件,可以用事件代替.触发就表示按键----这样做就是为了体现出一种很卡通的效果,特别是把主角改成小手.
   
二,算法
输入一个数,就在数组中push一个数
a=[3,2,1],那么如何把[3,2,1]转化为321呢?
最高位就是:a[0]*10**(a.size-1)
次位是:a[1]*10**(a.size-2)
把数组中的数字连接起来的算法就是
B=0
for A in 0..a.size
B=a[A]*10**(a.size-A)+b

然后把从数组中转换的数相运算就好了



梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
回帖
1175
发表于 2007-5-24 19:11:55 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
导: 计算器本身不是个很神秘的东西,系统自带就有一个,只是用rm实现而已
一,界面
   9个数字,5个运算符号,等等控件,可以用事件代替.触发就表示按键----这样做就是为了体现出一种很卡通的效果,特别是把主角改成小手.
   
二,算法
输入一个数,就在数组中push一个数
a=[3,2,1],那么如何把[3,2,1]转化为321呢?
最高位就是:a[0]*10**(a.size-1)
次位是:a[1]*10**(a.size-2)
把数组中的数字连接起来的算法就是
B=0
for A in 0..a.size
B=a[A]*10**(a.size-A)+b

然后把从数组中转换的数相运算就好了



梦石
0
星屑
444
在线时间
189 小时
注册时间
2006-1-8
回帖
44
发表于 2007-5-24 19:33:30 | 显示全部楼层

a = [3,2,1]
b = ""
for i in 0...a.size
  b += a.to_s
end
p b.to_i
回复

使用道具 举报

梦石
0
星屑
275
在线时间
1373 小时
注册时间
2005-10-16
回帖
5038

贵宾

发表于 2007-5-24 19:41:55 | 显示全部楼层
[3,2,1].to_s的结果是什么?
"321".to_i的结果是什么?
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
回帖
1175
 楼主| 发表于 2007-5-25 02:14:19 | 显示全部楼层
以下引用亿万星辰于2007-5-24 11:41:55的发言:

[3,2,1].to_s的结果是什么?
"321".to_i的结果是什么?


把这地给忘记了{/pz}
谢谢提醒
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部