質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

2回答

6294閲覧

Ruby 複数の数値の受け取り方が分かりません。

ysoccer

総合スコア7

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

1グッド

1クリップ

投稿2016/12/30 03:09

###前提・実現したいこと
getsメソッドを用いて、複数の数値を受け取って、(その時に半角空白や改行まじりの下の様な形で受け取りたいです)色々な計算をしたいと思っています。
例)
2 34
34 78
の様に入力をしたら、左上、右上、左下、右下リストをそれぞれ変数を用いて、表し、
それぞれに対して四則演算などを行っていきたいです。

###発生している問題・エラーメッセージ
左上、右上、左下、右下をそれぞれ変数を用いて、表したいのに
やり方が分かりません。

###試したこと
始めの左上の数値は、x = gets.to_i###ヘディングのテキスト
の様な形で受け取れるのですが、それ以外の右上、左下、右下を
どの様に受け取っていいか分からず困っております。

###補足情報(言語/FW/ツール等のバージョンなど)
また上記のは、Rubyでやりました。

DrqYuto👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

やりたいことが具体的に見えませんが、下記が参考になるでしょうか。
空白文字で分割して、各要素をto_iします。

Ruby

1line1 = gets # "2 34\n" 2line2 = gets # "34 78\n" 3 4upper_left, upper_right = line1.split(/\s/).map(&:to_i) 5lower_left, lower_right = line2.split(/\s/).map(&:to_i)

投稿2016/12/30 05:23

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ysoccer

2016/12/30 07:31

ありがとうございます。正常に作動致しました。 mapメソッドやsplitメソッドや正規表現と呼ばれるものがあることなど知れて、大変勉強になりました。 ググっていく中で、mapメソッドについては、理解出来たのですが、 splitメソッドや正規表現については、色々サイトを見たのですが、 よく理解出来ませんでした。 もしよろしければ、初心者でも非常に理解しやすいサイトなどをご紹介頂けないでしょうか。 お願いいたします。
otn

2016/12/30 08:31

splitは、文字列を特定の文字(列)で区切り、文字列の配列にするものです。難しくありません。 "abc,def,ghi,jkl".split(",") => ["abc", "def", "ghi", "jkl"] 区切りは1文字でもいいし複数文字でもいいし、文字列でもいいし、正規表現でもいいです。 正規表現は奥が深いですが、簡単なものなら簡単です。初心者に理解しやすいサイトは知りません。
ysoccer

2016/12/30 08:52

わかりました。色々ありがとうございました。
guest

0

xx.rb

ruby

1line_1 = gets 2line_2 = gets 3items = (line_1 + line_2).split 4p "#{items[0]}, #{items[1]}" 5p "#{items[2]}, #{items[3]}" 6p items 7puts '' 8 9vals = items.map(&:to_i) 10p vals 11p "#{vals[0]}, #{vals[1]}" 12p "#{vals[2]}, #{vals[3]}"

実行例

$ ruby xx.rb 1 2 3 4 "1, 2" "3, 4" ["1", "2", "3", "4"] [1, 2, 3, 4] "1, 2" "3, 4" [katoy@katoy-MacBook-Pro test (master)]

投稿2016/12/31 14:56

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問