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

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

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

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

180閲覧

ネストされたハッシュのそれぞれのキーに、値が入っているか確認するバリデーションをかけたい

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2019/03/07 00:01

前提・実現したいこと

以下のようなネストされたハッシュがあった時に、"name", "age", "hoge"それぞれのキーに値が入っているかバリデーションをかけて、全てのキーに値が入っていればtrue、どれか一つでも空であればfalseを返すような実装をご教示願いたいです。

ハッシュ

"menber" = { "Suzuki" => {"name" => "Ichirou", "age" => "18", "hoge" => "fuga"} "Tanaka" => {"name" => "Tarou", "age" => "17", "hoge" => "fuga"} "Satou" => {"name" => "Hanako", "age" => "16", "hoge" => "fuga"} }

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

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

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

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

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

otn

2019/03/07 00:38

> 全てのキーに値が入っていればtrue、どれか一つでも空 「値が入っている」とは具体的にどういう意味ですか? 「キーが存在すれば」? 「name,age,hogeのキーは常に存在するので、対応する値が○○でなければ」?
退会済みユーザー

退会済みユーザー

2019/03/07 03:01 編集

説明が下手ですみません。 やりたいこととしては、Suzuki,Tanaka,Satouが持つname,age,hogeになんらかの文字列が入っていればtrueを、一つでも空であればfalseを返すバリデーションを書きたい。という感じです。 ``` "menber" = { "Suzuki" => {"name" => "Ichirou", "age" => "18", "hoge" => "fuga"} "Tanaka" => {"name" => "Tarou", "age" => "17", "hoge" => "fuga"} "Satou" => {"name" => "Hanako", "age" => "16", "hoge" => "fuga"} } ``` ↑この状態であればtrueを ``` "menber" = { "Suzuki" => {"name" => "Ichirou", "age" => "18", "hoge" => "fuga"} "Tanaka" => {"name" => "Tarou", "age" => "", "hoge" => "fuga"} "Satou" => {"name" => "Hanako", "age" => "16", "hoge" => "fuga"} } ``` ↑この状態であればfalseを返したい
otn

2019/03/07 03:42

> やりたいこととしては、Suzuki,Tanaka,Satouが持つname,age,hogeになんらかの文字列が入っていればtrueを、一つでも空であればfalseを返すバリデーションを書きたい。という感じです。 ぜんぜん回答になっていませんが(質問の文章と同じことを書いても無意味)、例を見ると、「空文字列かどうか」という意味ですね。
退会済みユーザー

退会済みユーザー

2019/03/07 03:56

>「空文字列かどうか」という意味ですね。 はい、その通りです。
otn

2019/03/07 03:57

"" は、「空文字列」と言いますので、覚えてくださいね。
退会済みユーザー

退会済みユーザー

2019/03/07 04:04

ありがとうございます。はい、お手数おかけしました。
guest

回答1

0

ベストアンサー

Ruby

1member = { 2"Suzuki" => {"name" => "Ichirou", "age" => "18", "hoge" => "fuga"}, 3"Tanaka" => {"name" => "Tarou", "age" => "17", "hoge" => "fuga"}, 4"Satou" => {"name" => "Hanako", "age" => "16", "hoge" => "fuga"}, 5} 6 7x = ! member.values.map(&:values).flatten.any?("") 8p x 9 10member = { 11"Suzuki" => {"name" => "Ichirou", "age" => "18", "hoge" => "fuga"}, 12"Tanaka" => {"name" => "Tarou", "age" => "", "hoge" => "fuga"}, 13"Satou" => {"name" => "Hanako", "age" => "16", "hoge" => "fuga"}, 14} 15 16x = ! member.values.map(&:values).flatten.any?("") 17p x

投稿2019/03/07 03:55

otn

総合スコア84553

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問