追記(2025-01-02T22:21+09:00)
翌日に全て直したバージョンが出ておりビックリ。
ありがとうございます。
はじめに
AtCoderの言語アップデートの時期になりました。現在mono版プロデル1.9.1263
をインストールする予定なので、mono版プロデルがこのまま更新されない場合、現バージョンの挙動について知っておく必要があります。また更新が間に合ってほしい気持ちもあるため、なるべく早めに書き上げようとしています。
環境
基本的にmono版
でコンパイル(rdrc.exe
を利用)したときの挙動を対象としていますが、.Net版
でも大抵同じです。
本編
みなす文
みなす文のページ にある2つのコードはどちらも動作しません。
以下のように変更すると動きます。
入力値は{「山田太郎」,23,「神奈川県足柄下郡箱根町」}
- 入力値を{名前,年齢,住所}とみなす
+ 入力値を{【名前】,【年齢】,【住所】}とみなす
名前を表示する
年齢を表示する
住所を表示する
- 「1 2 3」を「 」で区切って{【A】,【B】,【C】}とみなす
+ (「1 2 3」を「 」で区切る)を{【A】,【B】,【C】}とみなす
Cを出力する
ちなみに下のような書き方もできません。これはmono版でのみ動きません。
(「1 2 3」を「 」で区切る)を{【A:整数】,【B:整数】,【C:整数】}とみなす
Cを出力する
条件判断文
条件判断文のページ
もとのコードだと「123」を入力したとき以外、全て「より大きい」と出てしまいます。以下のように変更することで意図通りに動きます。(どういう扱いになってるのかわかってません)
正解は123
+ 【数字:整数】
「数値を入力してください」と聞いて、数字とする
数字が正解なら
「正しい」を表示する
他で数字が正解より大きいなら
「[数字]より小さい」を表示する
他で数字が正解より小さいなら
「[数字]より大きい」を表示する
そして
条件文の始めの条件で括弧を使わずに =
を使うとコンパイルエラーになります。これはpconsole
でも再現でき、1.9.1290
で修正されています。
正解は123
「数値を入力してください」と聞いて、数字とする
- 数字=正解なら
+ (数字=正解)なら
「正しい」を表示する
他で数字≧正解なら
「[数字]より小さい」を表示する
他で数字≦正解なら
「[数字]より大きい」を表示する
そして
カスタムソート
一覧は{12,3,5,6}
一覧を『
それを{左,右}とみなす
左>右なら
-1を返す。
他で左<右なら
1を返す。
そうでなければ
0を返す
そして
』で並べ替える
一覧を表示する
『それ』という名前の手順または変数はありません、と出ます。改善方法はわかりません。
最新の.Net版
ではコンパイルできるものの、文字列扱いでソートされます。
文字目
内容は「こんにちは プロデル」
X=内容の3文字目
Xを表示する
なぜか上記のように変数に代入すると、文字位置の数が代入されます。下のように書くことで回避できます。
内容は「こんにちは プロデル」
【X:文字列】=内容の3文字目
Xを表示する
最新の.Net版
では解決しています。