お世話になります
今Windowsを使ってkotlincで条件分岐の勉強をしております
コマンドプロンプトで文字化けを直したいのですがご指導ください
REPL
1>>> val score = 50 2>>> if (score >= 60) { 3if (score >= 60)... println("合格!") 4println("濠?")... } else { 5}... println("不合格") 6println("附?")... } 7}附? 8>>>
もちろんchcp 65001でutf-8へ変更済です
よろしくお願いいたします
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答2件
0
ベストアンサー
直接の解決方法ではありませんが以下の方法でどうでしょうか?
実行したいコードを、拡張子をktsにしたテキストファイルで保存します。
この例ではtest.ktsとしました。このときの文字コードはsjisで結構です。
kotlin
1val score = 50 2if (score >= 60) { 3 println("合格") 4} else { 5 println("不合格") 6}
次にtest.ktsファイルがあるディレクトリでPowershellを立ち上げ、プロンプトから次のコマンドを入力しtest.ktsファイルを実行します。
コンソールの文字コードを変える必要はありません。
bat
1PS> kotlinc -script test.kts 2不合格
コードを追加したり条件を変えたい場合はtest.ktsファイルを書き換えて再度コマンドを実行します。
入力コマンドは矢印キーの上(↑)を押せば、直前の入力が表示されるのでいちいちコマンド入力はしなくても大丈夫です。
こちらの方がREPLで実行するより簡単かと思いますがどうでしょうか?
ちなみに私の環境は下記の通りです。
- Windows 10 Professional
- PowerShell version 5.1
- Kotlin version 1.2.51
以上ご確認ください。
投稿2018/07/23 08:55
総合スコア1752
0
Kotlin
1fun main(args: Array<String>) { 2 val hello = "こんにちは、Kotlin!" 3 println(hello) 4 5 for ((i, s) in args.withIndex()) 6 println("args[$i] = $s") 7}
上記のようなUTF-8で保存されたソースコードをコンパイルして、
Windows 10上のPowerShell上で実行してみました。
$ ./kotlinc hello.kt -include-runtime -d hello.jar $ ./kotlin hello.jar こんにちは、Kotlin! $ chcp 65001 Active code page: 65001 ɂ́AKotlinI
デフォルトのロケール(CP932)だと正常に表示されますが、
コンソールのロケールをchcp 65001
でUTF-8に変換すると文字化けします。
投稿2018/07/22 07:11

退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

退会済みユーザー
2018/07/22 08:32 編集

退会済みユーザー
2018/07/22 13:38

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/24 00:50
2018/07/24 05:46
2018/07/24 12:35
2018/07/24 23:37
2018/07/24 23:37