🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby

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

Q&A

解決済

1回答

467閲覧

Rubyで条件に合う要素を抽出する方法

gragratech

総合スコア1

Ruby

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

0グッド

0クリップ

投稿2020/12/08 07:45

Rubyで条件に合う要素を抽出。
selectを用いて配列の要素を取得したいのですが、どのような記述が正しいのでしょうか。

[
{
"userId": 1,
"id": 1,
"title": "delectus aut autem",
"completed": false
},
{
"userId": 1,
"id": 2,
"title": "quis ut nam facilis et officia qui",
"completed": false
},
{
"userId": 1,
"id": 3,
"title": "fugiat veniam minus",
"completed": false
},
{
"userId": 1,
"id": 4,
"title": "et porro tempora",
"completed": true
},
{
"userId": 1,
"id": 5,
"title": "laboriosam mollitia et enim quasi adipisci quia provident illum",
"completed": false
},

これらの配列を抽出する条件として
completed が false の物を抽出して出力させるために
selectを用いて取得する記述方法がわかりません。

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

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

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

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

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

maisumakun

2020/12/08 08:30

コードを書いてみて失敗した例などあれば、ご提示いただければと思います。
gragratech

2020/12/08 09:23

すみません。正確にはダミーAPIから条件を入れて抽出する記述を知りたいのです。ハッシュの中からcompleted が false の物を抽出して出力するのに 下記のように記述しても戻り値が何も帰ってきてない状態にあります。 require 'net/http' require 'uri' require "json" url = URI.parse("https://jsonplaceholder.typicode.com/todos") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true req = Net::HTTP::Get.new(url.path) res = https.request(req) hash = JSON.parse(res.body) puts hash.select{ |completed,v| v == false }
maisumakun

2020/12/08 09:36

hashとなっていますが、得られたオブジェクトは記載のような配列、ということで間違いないですか?
gragratech

2020/12/08 10:32 編集

はい。間違い無いです。 僕が他サイトを参考に記述した物です。
guest

回答1

0

ベストアンサー

hash.select{|h| h[:completed] == false }

投稿2020/12/08 17:08

otn

総合スコア85886

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

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

gragratech

2020/12/09 08:56

回答ありがとうございます。 このコードを参考に pue = hash.select{|v| v["completed"] == false } puts pue で記述したところ、成功いたしました! 助かりました,,,ありがとうございます!
otn

2020/12/09 11:38

ああ、RubyコードじゃなくてJSONですか。 そういう情報は質問に書きましょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問