Scalaの基礎を勉強しています。
Seq[String]を引数として受け取り、Map型のKeyと変数とその値を参照し条件に沿えばBool型で返すというメソッドを作りたいです。
例 val employee: Map[String,String] = Map("Business" -> "suzuki", "Engineer" -> "takahashi", "Marketer" -> "shimizu") val user: Seq[String] = Seq("Business","Marketer") def busiAndMarke(user: Seq[String]): Boolean = { var ans = user.map(u => employee.contains(u)) var t = 0 for(i <- ans) { if(i == true) { t += 1 } else { t += 10 } } } if(t == 2 || t == 0) { true } else { false } } }
変数userのどちらも変数employeeに存在する場合には、trueをどちらかの場合はfalseを、Nilの場合にはtrueを返すメソッドを作りたいと考えています。
ご教授お願い致します。
編集依頼をいただき、自分なりに考えてメソッドを組んでみましたが、かなり冗長なメソッドになっていると感じます。もう少し簡潔にメソッドを書きたいと考えております。よろしくお願いいたします。
動作するコードを書きましょう。2行目でエラーになります。
また、わからない実装部分に関しては何も記載してない丸投げの質問ですので、少なくとも実装に挑戦してみてください。
質問に関してアドバイスなのですが、正解となる条件文がわかりにくいです。
true, false になる具体的な値の例を示すと良いでしょう。