注册
登录
会员
标签
奖励
统计
帮助
Ruby中文社区论坛
»
请您接招
» 帮忙看看这个素数小程序
‹‹ 上一主题
|
下一主题 ››
发新话题
发布投票
发布商品
发布悬赏
发布活动
发布辩论
发布视频
打印
[标准问题]
帮忙看看这个素数小程序
wlm123
初入江湖
个人空间
发短消息
加为好友
当前离线
1
#
大
中
小
发表于 2008-8-12 10:53
只看该作者
帮忙看看这个素数小程序
# E3.10-4.rb 求50以内的素数
----------------------------------------------------
for i in 2..50 #50以内
f=true #起始假定每个数都是素数
for p in 2...i #比自身小的正整数(1和自身除外)
if i%p==0 #如果能整除
f=!f
#那么这个数不是素数
break #并且跳出这层循环
end # if 结束
end #内层循环结束
print i," "
if f
#如果这个数保持起始假定,则打印
end #外层循环结束
----------------------------------------------------
#2 3 5 7 11 13 17 19 23 29 31 37 41 43 47
谁知道这个红色字体部分,的语法怎么解释啊!看了半天看不懂,以前别的语言里也没看过类似的,好难懂!谁帮我看看!谢谢
UID
8406
帖子
10
精华
0
R币
16
阅读权限
2
在线时间
9 小时
注册时间
2008-8-8
最后登录
2008-9-18
查看详细资料
TOP
xavier
栏目管理员
个人空间
发短消息
加为好友
当前离线
2
#
大
中
小
发表于 2008-8-12 11:00
只看该作者
!在ruby里就是not,前面定义f=true,那么!f就是false了
后面那个是if修饰句。因为在ruby里任何表达式都返回一个值,而变量f在此时就是一个布尔值。
[Copy to clipboard]
[
-
]
CODE:
print i," " if f
等价于
[Copy to clipboard]
[
-
]
CODE:
if f == true print i," " end
Digging ruby with Pickaxe,
Running agilely on rails
UID
66
帖子
467
精华
6
R币
485
阅读权限
100
在线时间
1204 小时
注册时间
2007-6-22
最后登录
2008-11-15
查看个人网站
查看详细资料
TOP
wlm123
初入江湖
个人空间
发短消息
加为好友
当前离线
3
#
大
中
小
发表于 2008-8-12 11:12
只看该作者
偶!还是对这句有点不懂啊!
print i," " if f
如何等价
if f ==true
print i," "
end
没看到语法里哪提到可以这样写的啊?我想真正理解一下为啥可以print i," " if f 这样写!
UID
8406
帖子
10
精华
0
R币
16
阅读权限
2
在线时间
9 小时
注册时间
2008-8-8
最后登录
2008-9-18
查看详细资料
TOP
xavier
栏目管理员
个人空间
发短消息
加为好友
当前离线
4
#
大
中
小
发表于 2008-8-12 17:15
只看该作者
if修饰句并不是ruby才有的语法
在诸如javascript等脚本语言中早就有实现。
可以当语法生记下来,即:
[Copy to clipboard]
[
-
]
CODE:
语句 if 条件
等价于
[Copy to clipboard]
[
-
]
CODE:
if 条件 语句 end
也可以用英语理解,把它当成条件状语从句就是了。比如
We won’t go on a picnic if it rains tomorrow.
[
本帖最后由 xavier 于 2008-8-12 17:18 编辑
]
Digging ruby with Pickaxe,
Running agilely on rails
UID
66
帖子
467
精华
6
R币
485
阅读权限
100
在线时间
1204 小时
注册时间
2007-6-22
最后登录
2008-11-15
查看个人网站
查看详细资料
TOP
‹‹ 上一主题
|
下一主题 ››
新手入门区
我是新手
书籍学习讨论
Ruby小Case
请您接招
ROR系列讲座
Ruby基础语法
Ruby / Rails Quiz
三日一题
答案点评
题目征集
Ruby / Rails
Ruby 语言
高级编程
Rails 框架和开发
Ruby第三方实现
Rails部署
社区新闻
资源展示区
资源下载区
Ruby/Rails 中文化
国外技术文章翻译精品
NetBeans6 Ruby
ROR Wiki的中文
其他框架
Merb
开源项目区
RGB留言本
1stLog博客
开源项目管理
IT休闲区
海阔天空
企业应用
论坛管理区
用户反馈/论坛管理
联盟合作
电子期刊编辑和管理
[
申请社区博客,抢注rubylog.cn的域名!
]
[共同完善Ruby中文Wiki]
[寻找您身边的Rubyist.]
[提交好帖,加入电子期刊]
R币下完了?来看[赚取R币的三种方式吧]
R币下完了?来看[赚取R币的三种方式吧]
2008-11-20 23:23 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html) @38.103.63.61