코드 간결함은 진짜 최고인듯
ㄹㅇ 신임
string[] Arguments;
{
int n = 0;
for (int k = 0; k < ArgumentSequence.Length; k++) {
if (IsRW && ArgumentSequence[k] == ',') {
n++;
} else if (ArgumentSequence[k] == ';') {
n++;
}
}
Arguments = new string[n + 1];
int a = 0, h = 0;
for (int k = 0; k < ArgumentSequence.Length; k++) {
if (IsRW && ArgumentSequence[k] == ',') {
Arguments[h] = ArgumentSequence.Substring(a, k - a).Trim();
a = k + 1; h++;
} else if (ArgumentSequence[k] == ';') {
Arguments[h] = ArgumentSequence.Substring(a, k - a).Trim();
a = k + 1; h++;
}
}
if (ArgumentSequence.Length - a > 0) {
Arguments[h] = ArgumentSequence.Substring(a).Trim();
h++;
}
Array.Resize(ref Arguments, h);
}
return Arguments;
def split_arguments(ArgumentSequence, IsRW):
Arguments = []
a = 0
for k in range(len(ArgumentSequence)):
if (IsRW and ArgumentSequence[k] == ',') or ArgumentSequence[k] == ';':
Arguments.append(ArgumentSequence[a:k].strip())
a = k + 1
if len(ArgumentSequence) - a > 0:
Arguments.append(ArgumentSequence[a:].strip())
return Arguments
executable pseudocode...
응 너만 그렇게 생각해
def split_arguments(args, rw): return ([y.strip() for x in args.split(";") for y in x.split(",")] if rw else [x.strip() for x in args.split(";")])
파이써닉하지는 않네. 결국 ;나 IsRW를 만족하는 ,인경우 split하고싶은거 아니야? IsRW가 뭔지 모르겠네.. if isrw: argument_sequence = argument_sequence.replace(',', ';') splited_argument = argument_sequence.split(';') 를 하면 끝나는거같은데?
파이썬에서는 변수는 대문자안씀 무조건 스네이크케이스
2번째 줄은 띄어쓰기 4개 넣기 ㄱㄱ