用ruby写了8皇后的问题

57 篇文章 0 订阅

用ruby写了8皇后的问题
dell win10笔记本使用,17年购的三星本子,不能使用五笔,我下载了一个五笔,但在IE中却使用不了。今天,买了dell的win10机器,发现可以使用五笔了。真是幸福呀。
因为要读源码,所以就学习慢慢使用ruby,为此,进行一些小程序用ruby来开发。今天用ruby来实现8皇后问题,就是把8个皇后摆在棋盘上,要求每行、、每列、、斜线不能放两个皇后。
我的想法是,用一个二维数组,先初始化为0,放皇后的位置就用1来代替,放一个位置后,就进行判断,看每行每列每斜线是不是放两个以上的子,在使用时,发现几个有意思的地方。
a=[]
a << 1
a << 2
这样是可以的。
但若
a=[]
a[0]=1
a[2]=2
这样是不行的?
我开始想不明白,后来,知道了,<<是要进行扩大范围的,而[]=赋值是没有扩大范围的。但
[]= 对应的源码是Fary_aset
但Fary_aset代码有些长,居然有些看不懂。看上去好象也是扩大了,但为何就是程序报错呢?真是不懂。

编写另一题时,要求每个字母后面两个字母,如
"a".next.next
返回:"c"
但能否返回一个字母前面的字母呢,如
"b".prev 
为了找这个函数,于是就从官网上下帮助文件。chm格式的比较好,居然没找到。

下午等新机器弄好了,就开始把office联机上。发现dell的机器送了office,还真是很好用。
读源码有一个好处,就是逼着你去使用这种语言,因为毕竟读帮助文件比起读源码,要容易得多。哪怕是用英语写的。

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值