puts '5つの数値を入力してください' sum=0 for i in 1..5 num=gets.chomp.to_i sum+=num end puts sum
このプログラムでfor中の変数iの果たす役割は何ですか?to_iメソッドのiのことを表しているんでしょうか?初歩的な質問ですいません。また、gets.chompとは入力欄を生成して値を取得するという認識なのですがあっていますか?
Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。
PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。
CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。
Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。
PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。
JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。
HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。
CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。
1グッド
1クリップ
投稿2016/06/28 15:35
編集2016/06/28 15:36puts '5つの数値を入力してください' sum=0 for i in 1..5 num=gets.chomp.to_i sum+=num end puts sum
このプログラムでfor中の変数iの果たす役割は何ですか?to_iメソッドのiのことを表しているんでしょうか?初歩的な質問ですいません。また、gets.chompとは入力欄を生成して値を取得するという認識なのですがあっていますか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/06 06:48
回答3件
0
#chompはto_iを使えば要りません。
puts '5つの数値を入力してください' sum=0 5.times{ num=gets.to_i sum += num } puts sum
整数とみなせない文字があればそこまでを変換対象とします。 変換対象が空文字列であれば 0 を返します。
https://docs.ruby-lang.org/ja/latest/method/String/i/to_i.html
#gets.to_iはメソッドチェーンです。
このようにメソッドをドットで数珠つなぎのようにして使うことをメソッドチェーンと呼びます。メソッドチェーンを利用することで「~して、次に~~して」という手順を流れるようにかけるので、プログラムがより直感的に表現できます。
3ステップでしっかり学ぶ Ruby入門 | WINGSプロジェクト 竹馬 力, 山田 祥寛 |本 | 通販 | Amazon
https://www.amazon.co.jp/3%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E3%81%A7%E3%81%97%E3%81%A3%E3%81%8B%E3%82%8A%E5%AD%A6%E3%81%B6-Ruby%E5%85%A5%E9%96%80-WINGS%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88-%E7%AB%B9%E9%A6%AC-%E5%8A%9B/dp/4774195022
""
##メソッドチェーンは木構造には向いてないそうです。
でも実はメソッドチェイン万能!ってわけでもなくて、木構造の取り扱いにはじつはあんまり向いてないんだ。ネストをもぐるのはいいんだけど、ネストから脱出するのができないんだよね。フラットな構造での連続的な処理にはめっぽう強いから、そういうときに使っていくと便利だよ。
投稿2019/03/06 06:46
総合スコア432
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
このコード中では、i の役割は実質的にはありません
iにはforの中が繰り返し実行された時に、順番に 1, 2, 3... と数字が代入されています
例えば下記のコードだと1度目の繰り返しの時は i=1
に、 2度目は i=2
という様に値が変わります
puts "start" for i in 1..5 puts i end puts "end"
結果
start 1 2 3 4 5 end
iはこのようなループの処理でよく利用される変数で、 to_i
とは関係ありません
gets.chomp
ですが、これは、 gets
と chomp
、 to_i
の3つに分けて順番に考えてください
このプログラムで、ユーザが 1
という値を入力した場合を例に考えます
まず、 gets
ですが、これが入力を受け付ける関数です
これだけで、ユーザの入力を取得できるのですが、ユーザが 1
を入力した場合、 gets
で取得できるのは 1\n
と改行が含まれた文字列になります
次にchomp
は、↓に詳しく説明されていますが、改行を削除してユーザが入力した 1
だけを取得するために、呼び出しています?
chomp
最後に、 to_i
ですが、これは 文字列を数字(整数) に変換します
Rubyでは、文字列と整数を区別して扱います
gets.chompで、改行を除いた入力された値を取得できていますが、 gets
で取得できるのは文字列なので、数字として足し算掛け算などに使うことができません
そのため、to_i
で 1
という文字を数字に変換しています
投稿2016/06/29 05:02
総合スコア181
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。