📱

スマホでRust (Dcoder編)

2020/12/19に公開

スマホでRust (Dcoder編)

手元にスマホしかないときでも Rust のコードを書いて動かしたい!
でも Rust Playground 等の web実行環境だとソースは1ファイルだけだし cargo も使えないからちょっともの足りない…。
そんなときに使えそうなアプリ Dcoder を見つけたので遊んでみました。

今回試すのは Android 版ですが基本クラウドで動作するようですので他もだいたい一緒だと思います。

なお使用したアプリのバージョンは 3.1.17 です。

ログインする

インストール後初めて起動するとアプリの説明が表示されます。

スタート画面

Skip するか Next を数回押すとログイン画面になります。

ログイン画面

Want to register? からメールアドレスを登録してアカウントを作成するか、Googleアカウント等と紐付けることでログインできます。

その後 Update Profession と表示され職業を選択する画面になります。

職業選択画面

該当するものをどれか選択して Save を押すか左上の x で先に進みます。

プロジェクトを作成する

ダッシュボード

右下の Start Coding </> を押すと ProjectsSingle file を選ぶ画面になります。

プロジェクト作成画面

ここで Single fileCreate File を押すと、プログラム言語選択、ファイル名入力後にエディタ画面になります。
ファイル1つですので Rust Playground 等の web実行環境と出来ることはそう変わらない感じです。

Projects の方は Create project で新規作成するだけでなく Git clone で Github 等の公開リポジトリから作成することができます。

また Single fileProjects どちらも Upload ボタンでスマホのストレージから開発環境にファイルやフォルダをアップロードすることが出来るようです。

今回は ProjectsCreate project から新規作成してみます。
プログラム言語は Rust を選択、プロジェクト名は guessing_game にしてみましょう。

Create を押すと Select default configuration と表示されます。

設定画面

どうやらコンパイル速度の選択のようです。
無料ユーザーの場合は 1x 0.15 points 一択です。
Open を押すとプロジェクトが作成されます。

ここでうっかり Open 以外を押すとプロジェクトが作成されないまま次に進んでしまいます。
その場合は右上の から Change Configuration を選ぶと再度 Select default configuration 画面が表示されます。

とりあえず実行してみる

インストラクション

左下の ボタンを押すとプロジェクト内のファイルやフォルダが表示されます。

ディレクトリ構成

main.rs を選ぶとファイルの内容が表示されます。
右下の で実行出来ます。

Hello, Dcoder!

お約束の Hello, World! …ではなく Hello, Dcoder! ですね。

このまま main.rs を書き換えて使うことも出来ますが、それでは web実行環境とあまり変わりません。

cargo を使う

というわけで cargo を使ってみましょう。

まずは左下の ボタンを押して Directory structure を表示し、main.rs の右にある から Delete を選択、Yes を押して一旦 main.rs を消してしまいましょう。
main.out があればそちらも消しておきましょう。

次に .docker_run ファイルを選択して中身を編集します。
rustc -o main.out main.rs./main.out を削除し export USER=[ユーザ名]cargo init を追加します。

そして右下の を押します。

cargo init 実行

これで新しいパッケージが作成されたはずです。
左下の ボタンを押して確認してみましょう。

ディレクトリ構成

もし何も変わっていないように見える場合は下にスワイプすると表示を更新できます。

数あてゲームを動かす

準備が出来ましたのでさっそくコレをやってみましょう。

https://doc.rust-lang.org/book/ch02-00-guessing-game-tutorial.html

cargo.toml の dependencyrand を追加します。

cargo.toml

main.rs も写経します。

main.rs

.docker_run で実行するコマンドを cargo run に書き換えましょう。

carago run

実行します。

数あてゲーム

上手にできました!!

これでスマホだけでも TRPL をどんどん進められそうです。

Discussion