Closed7

Dartで競プロする準備

はやぶさはやぶさ

2022/6/2時点で

Dartのnull safety対応が 2.12 かららしい
AtCoderがnullsafety非対応なのは良いとして、coderbyteでもnullsafetyが動かなかった。理由はわかってない。

はやぶさはやぶさ

extension (Dart 2.7から)

atcoderでもcoderbyteでも使えた。以下のコードが動いた。

import 'dart:io';

String FirstReverse(String str) {
  // code goes here
  return str.reverse;
}

// keep this function call here
void main() {
  print(FirstReverse(stdin.readLineSync()));
}

extension Reversible on String {
   String get reverse => split('').reversed.join();
}
はやぶさはやぶさ

macでのDartのバージョンの切り替え方

  1. 切り替えたいバージョンのDartをbrewで入れる
brew install dart-lang/dart/dart@2.7
  1. 切り替える
    https://dart.dev/get-dart#install
brew unlink dart@<old> && brew unlink dart@<new> && brew link dart@<new>
// 最新が2.7なら
brew unlink dart && brew unlink dart.7 && brew link dart.7

dart --version
=> Dart VM version: 2.7.0 (Fri Dec 6 16:26:51 2019 +0100) on "macos_x64"
はやぶさはやぶさ

使うかわからんけどsnippet用意した

import 'dart:io';

void main() {
  print(readLine());
}

String readLine() {
  return stdin.readLineSync();
}

int readInt() {
  return int.parse(stdin.readLineSync());
}

List<int> readInts() {
  return readLine().split(" ").map(int.parse).toList();
}
はやぶさはやぶさ

PracticeA - Welcome to AtCoder

import 'dart:io';

void main() {
  final a = readInt();
  final ints = readInts();
  final b = ints.first;
  final c = ints.last;
  final str = readLine();
  print('${a + b + c} $str');
}

String readLine() {
  return stdin.readLineSync();
}

int readInt() {
  return int.parse(stdin.readLineSync());
}

List<int> readInts() {
  return readLine().split(" ").map(int.parse).toList();
}

このスクラップは2022/06/03にクローズされました