[解決済み] Ruby で Fixnum から String への暗黙の変換ができない (TypeError)
2022-02-12 02:40:43
質問
クリス・パイン氏の著書「Learn to Program"」に掲載されている以下の質問に答えようとしています。
<ブロッククオートうるう年。開始年と終了年を尋ねて、その間にすべてのうるう年を入れる(うるう年でもある場合はそれを含む)プログラムを書いてください。うるう年は4で割り切れる年です(1984年や2004年など)。しかし、100で割り切れる年は、400で割り切れる年(1600と2000のように、実際にはうるう年だった)でなければ、うるう年にはなりません(1800と1900のような年です)。なんということでしょう。
私のコードを実行すると、次のようなエラーが発生します。
leap_year.rb:12:in
+': no implicit conversion of Fixnum into String (TypeError)
from leap_year.rb:12:in
'
以下は私のコードです。
#leap years
puts 'What is the starting year?'
starting_year = gets.chomp
puts 'What is the ending year?'
ending_year = gets.chomp
while starting_year <= ending_year
if starting_year%4 == 0 && (starting_year%100 != 0 && starting_year%400 == 0)
puts starting_year
end
starting_year+=1
end
解決方法は?
を追加します。
.to_i
をあなたの
gets.chomp
を呼び出します。 あなたはテキストに対して数学の演算をしようとしているのです。 コンソールから入力されたものは、たとえそれが数字に見えるテキストであっても、すべてテキストとして始まります。
関連
-
[解決済み] Rubyのフィボナッチ数列(再帰)
-
[解決済み] Rubyがブロックの中でパイプ文字を使うことについて、誰か説明してください。
-
[解決済み] Ruby の .reject! と .delete_if の比較
-
[解決済み] Rubyでランダムな文字列を生成する方法
-
[解決済み] Ruby: 文字列をブーリアンに変換する方法
-
[解決済み] rvmのインストールがうまくいきません。"RVMは機能ではありません"
-
[解決済み] 動的な定数割り当て
-
[解決済み] Rubyでガウス(正規分布)乱数を生成するコード
-
[解決済み] Rubyで文字列を小文字・大文字に変換する方法
-
[解決済み] Rubyで文字列が部分文字列を含むかどうかをチェックする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Rubyで新しい文字列を作成せずに文字列をトリミングする標準的な方法は何ですか?
-
[解決済み] RVM は関数ではないので、'rvm use ...' でルビーを選択してもうまくいきません。
-
[解決済み] Rubyでファイル名を変更するには?
-
[解決済み] Gemfile が見つかりません。
-
[解決済み] Rubyのフィボナッチ数列(再帰)
-
[解決済み] nil:NilClass のための未定義のメソッド `+' (NoMethodError)
-
[解決済み] Rubyがブロックの中でパイプ文字を使うことについて、誰か説明してください。
-
[解決済み] git, Heroku: pre-receive フックの減少
-
[解決済み] ルビーです。そのようなファイルやディレクトリはありません @ rb_sysopen - testfile (Errno::ENOENT)
-
[解決済み] Capybaraを使ったドロップダウンでのオプションの選択方法