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

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

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

Rustは、MoFoが支援するプログラミング言語。高速性を維持しつつも、メモリ管理を安全に行うことが可能な言語です。同じコンパイル言語であるC言語やC++では困難だったマルチスレッドを実装しやすく、並行性という点においても優れています。

Q&A

解決済

1回答

912閲覧

Rustのドキュメントのピッグラテンを実装したい

toriumi_haru

総合スコア26

Rust

Rustは、MoFoが支援するプログラミング言語。高速性を維持しつつも、メモリ管理を安全に行うことが可能な言語です。同じコンパイル言語であるC言語やC++では困難だったマルチスレッドを実装しやすく、並行性という点においても優れています。

0グッド

0クリップ

投稿2020/06/30 12:40

タイトル通りです。。

文字列をピッグ・ラテン(訳注: 英語の言葉遊びの一つ)に変換してください。 各単語の最初の子音は、 単語の終端に移り、"ay"が足されます。 従って、"first"は"irst-fay"になります。 ただし、 母音で始まる単語には、 お尻に"hay"が付け足されます("apple"は"apple-hay"になります)。 UTF-8エンコードに関する詳細を心に留めておいてください!

私がやろうと思った方法は

rust

1 2 3fn main() { 4 5 let text = std_in(); 6 let chars: Vec<char> = text.chars().collect(); 7 let text = chars.get(0); 8 check_vowel(text); 9} 10 11fn check_vowel<T>(text: std::option::Option<T>) -> bool{ 12 let vowel = ["a","i","u","e","o"]; 13 let mut result = false; 14 let x = text; 15 for v in vowel.iter() { 16 if x == Some(v){ 17 18 } 19 }

textには標準入力の先頭の文字が入ってきています。型はstd::option::Option<T>型です。

error[E0369]: binary operation `==` cannot be applied to type `std::option::Option<T>` --> src/main.rs:36:10 | 36 | if x == Some(v){ | - ^^ ------- std::option::Option<&&str> | | | std::option::Option<T> error: aborting due to previous error

これは例えばstd::option::Option<T>を&str型に変更できたりするでしょうか?
先頭の文字が母音かどうかを判断したいのです。いい方法があれば教えていただきたいです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

こうすればいいと思います。

rust

1fn check_vowel(text: char) -> bool { 2 "aiueo".contains(text) 3}

if let という文法もありますが、そのさきにstdの関数をもっと覚える方が楽だと思います。英語公式stdドキュメントで検索もできます。

投稿2020/06/30 13:45

YufanLou

総合スコア464

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

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

toriumi_haru

2020/07/01 02:15

こんなに簡単にかけるんですね。。。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問