Skip to content

Instantly share code, notes, and snippets.

@rikuTanide
Created October 12, 2017 13:56
Embed
What would you like to do?
状態変数の読み込みと書き込みを局所化
class State {
bool aisatu = false;
int onigiriPrice = 100;
}
var state = new State();
void onMessage(String message) {
state = updateState(state, message);
}
State updateState(State _state, String message) {
switch (message) {
case "こんにちは":
return onAisatu(_state);
case "おにぎり3個ください":
return onOnigiriRequest(_state);
}
}
State onAisatu(State _state) {
print("こんにちは");
return new State()
..onigiriPrice = _state.onigiriPrice
..aisatu = true;
}
State onOnigiriRequest(State _state) {
if (_state.aisatu) {
var sum = _state.onigiriPrice * 3;
print("$sum 円です");
return new State()
..onigiriPrice = _state.onigiriPrice
..aisatu = false;
}
return _state;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment