小编nak*_*bag的帖子

Ruby:作为变量的条件不起作用

刚开始在 Ruby 中学习循环和流控制,并坚持了这个练习。我一直在测试和寻找答案,但没有找到任何答案,所以我在这里发帖。

如果我有这样的代码设置:

ask_play = ''
loop do
    print "Play?: "
    ask_play = gets.chomp
    break if (ask_play == 'n') || (ask_play == 'N')
end
Run Code Online (Sandbox Code Playgroud)

然后我在输入 n 或 N 后退出循环。

但是,如果我的代码设置如下:

ask_play = ''
play_stop = (ask_play == 'n') || (ask_play == 'N')
loop do
    print "Play?: "
    ask_play = gets.chomp
    break if play_stop
end
Run Code Online (Sandbox Code Playgroud)

该条件似乎不起作用。即使在输入 n 或 N 之后,我仍然继续循环,我只是不明白为什么。

ruby loops conditional-statements

2
推荐指数
1
解决办法
57
查看次数

Ruby:如何在通过散列文字表示法创建的散列上设置 nil 键的默认值?

在我正在学习的免费 Ruby 课程中,我了解了通过构造函数为哈希创建默认值的方法。它看起来像这样:

no_nil_hash = Hash.new("default value for nil key")
puts no_nil_hash["non_existing_key"]
Run Code Online (Sandbox Code Playgroud)

哪个打印:default value for nil key

我将如何通过哈希文字表示法来解决这个问题?

没有通过谷歌找到任何答案,这是迄今为止我徒劳的尝试:

  1. via_hash_literal = {"default value for nil key"}但这会导致错误:syntax error, unexpected '}', expecting =>
  2. via_hash_literal = {=> "default value for nil key"}导致更多错误: syntax error, unexpected =>, expecting '}' via_hash_literal = { => "default value for nil key"} syntax error, unexpected '}', expecting end-of-input ...=> "default value for nil key"}
  3. via_hash_literal = {nil => "default value for nil key"}不会引发错误,但 …

ruby ruby-hash

2
推荐指数
1
解决办法
1264
查看次数

标签 统计

ruby ×2

conditional-statements ×1

loops ×1

ruby-hash ×1