编程C,C ++,Java,PHP,Ruby,图灵,VB
计算机科学加拿大 
编程C,C ++,Java,PHP,Ruby,图灵,VB  

用户名:   Password: 
 登记登记   

 Wiki.Wiki.   博客博客   搜索搜索   图灵图灵   聊天室  成员成员 
 问题与之"end" (?)
指数 -> 编程,Ruby. -> 红宝石的帮助
查看上一个主题 可打印的版本下载主题订阅本主题私人信息刷新页面 查看下一个主题
作者 信息
MRHAGEPO




邮政发布: 2007年12月11日10:43 PM  帖子主题:问题"end" (?)

好吧,经过大约2-3天的学习红宝石,我决定尝试编写一个简单的程序来确定有人在一天浪费多少时间。但是,当它到达“结束”方法时,它只是关闭= s的代码或使用我运行它的方式有问题?

(我不知道如何以正确的格式发布代码,因此我将把摘录放在首先出现问题的地方,但如果我删除它发生在其他“末端”的那部分中

红宝石:

#start输入
#介绍
put “你好,欢迎时代!”
put /n
put “请输入你的名字:"
名称= 得到.辅饰
put "出色地,"+名称+"让我们看看你浪费了多少时间。做好准备!"

#学校?
打印 “你今天去学校了吗?(yes/no)"
学校= 得到.down
  如果 学校= yes
    school_time = 7.33
  别的
    school_time = 0
  结尾[
#什么时候醒来?
打印 “你什么时候醒来的?(到时刻,24小时时间)"
key_up =. 得到
醒来。to_i.


所以它适用于学校的问题。在那之后,无论我放在哪里,它退出了:S任何帮助都受到赞赏!(我一直在尝试正确安排,配置和使用“结束”的一段时间只是“这件东西的原因”X_X)

MRHAGEPO
赞助
赞助
赞助
赞助
托尼




邮政发布: 2007年12月11日星期二11:25下午  帖子主题:RE:问题"end" (?)

首先,=是赋值,==是比较。是的,没有一个值,你可能意味着一个字符串自由主义。所以它应该是
代码:

如果学校==."yes"

实际上你甚至不需要这个临时变量!
代码:

如果gets.downcase ==."yes"


我会做的事情
代码:

IRB.(main):001:0> school_time = (gets.strip =~ /yes/i) ? 7.33 : 0
是的
=> 7.33
IRB.(main):002:0> school_time
=> 7.33
最新来自compsci.ca/blog: Tony's 编程博客。 DWite - A. 编程竞赛.
WTD.




邮政发布: 2007年12月12日星期三1:34 AM  帖子主题:RE:问题"end" (?)

你有一个错字:

代码:
  end[


哦,虽然我们暗示了替代方案......

代码:
名称= gets.upcase.
put"Well, " + name + "让我们看看你浪费了多少时间。做好准备!"


可:

代码:
put"嗯,#{gets.capitalize}让我们看看你浪费了多少时间。做好准备!"
克莱顿




邮政发布: 2007年12月12日星期三星级8:36  帖子主题:RE:RE:问题"end" (?)

WTD @于2007年12月12日星期三1:34写道:
你有一个错字:

代码:
  end[



也就是说,他最初已经粗体了那段,而不是在代码标签中。我忘了删除我想的最后一个括号。
MRHAGEPO




邮政发布: 2007年12月12日星期三下午4:40  帖子主题:RE:问题"end" (?)

谢谢Tony&WTD(虽然我没有完全理解

(gets.strip =〜/是/ i)? 7.33:0

我更大的担心是,当我试图运行任何程序时,似乎(即使是我作为测试的这个非常简单的程序),它就会过早关闭窗口。

有没有办法停止发生这种情况,或者我只是以错误的方式运行它(我只是转到文件夹并双击* .rb文件)
托尼




邮政发布: 2007年12月12日星期三下午4:43  帖子主题:RE:问题"end" (?)

你是错误的方式

打开命令提示符,导航到文件夹,键入
引用:

ruby file_name.rb.
最新来自compsci.ca/blog: Tony's 编程博客。 DWite - A. 编程竞赛.
MRHAGEPO




邮政发布: 2007年12月12日星期三下午4:51  帖子主题:RE:问题"end" (?)

谢谢很多= D *在头上击打自己*

哇,我的代码x_x中的大量错误必须修复。但这就是我们如何学习呵呵。

再次感谢!
克莱顿




邮政发布: 2007年12月12日星期三下午5:11  帖子主题:RE:RE:问题"end" (?)

MRHEAMPO @ 2007年12月12日星期三下午4:40写道:
我更大的担心是,当我试图运行任何程序时,似乎(即使是我作为测试的这个非常简单的程序),它就会过早关闭窗口。

有没有办法停止发生这种情况,或者我只是以错误的方式运行它(我只是转到文件夹并双击* .rb文件)


只是为了澄清,发生了什么是,当你双击* .rb文件时,代码被解释并执行。但是,输入后,所有输出,窗口都会关闭。该程序如此之快地执行,几乎不会看到它所说的内容。所以你的代码仍在被执行,太快了,让你看 非难
赞助
赞助
赞助
赞助
MRHAGEPO




邮政发布: 2007年12月12日星期三晚10:29  帖子主题:RE:问题"end" (?)

*点头*这就是我有种疑似的,但我没有想到另一种方式来推出它,所以我恢复了代码X_X的错误的想法,现在虽然......好吧,而不是程序,但是发射部分; D
WTD.




邮政发布: 2007年12月12日星期三11:33 PM  帖子主题:RE:RE:问题"end" (?)

MRHEAMPO @ THU 2007年12月13日5:40 am写道:
谢谢Tony&WTD(虽然我没有完全理解

代码:
(gets.strip =~ /yes/i) ? 7.33 : 0


随着您的其他问题已得到解答......

这涉及几个组件。让我们看看:

代码:
得到.strip. =〜/是/ i


让我们打破一个更远的地方。

代码:
得到.strip.


还有一步。

代码:
得到


“获取”方法获取来自用户的输入行。结果是字符串对象。

代码:
得到.strip.


拍摄该字符串对象并调用其“Strip”方法。这会删除前导和尾随空格字符。 “是”变成“是”。

代码:
/是的,我


是一个正则表达。你可以把它视为一种模式。图案本身被斜线包围。将它们视为奇怪的引号。在这种情况下,那个模式是一个非常简单的词。尾随“i”修改了正则表达式以区分大小写。所以它会匹配“是”,“是”,“是”等。

“=〜”运算符与正则表达式匹配字符串。如果它匹配,此表达式返回一个数字标识匹配在字符串中启动的数字。如果它不匹配,则返回“nil”,其被ruby的条件被认为是假的。

现在你到达了一般模式的三元表达式:

代码:
commitingal_expression? return_if_true.: return_if_false


所以...

代码:
(gets.strip =~ /yes/i) ? 7.33 : 0


假设用户输入与正则表达式匹配的内容,这将返回7.33。
从上一个显示帖子:   
   指数 -> 编程,Ruby. -> 红宝石的帮助
查看上一个主题 告诉一个朋友可打印的版本下载主题订阅本主题私人信息刷新页面 查看下一个主题

11  [ 10 Posts ]
跳到:   


Style:  
搜索: