[過去ログ] プログラミングのお題スレ Part17 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
423
(4): 2020/05/01(金)08:25 ID:VWVnAecH(5/6) AAS
>>416 書き直し

お題: 関数hello, world, upperを実装し、それらをパイプで繋げて実行できるようにせよ
標準入力からコマンドライン文字列が一行ずつ入力されるので、それをパースして上記の関数を組み合わせて実行する
関数の出力と入力には標準入出力を使う代わりに、バッファを使い、コマンドライン全体の実行が終わったら構築したバッファを標準出力へ出力すること
例えば入力されるコマンドラインは

in < hello
in < hello | world
in < hello | world | upper
in < world | hello
in < world | hello | upper
省12
427
(1): 2020/05/01(金)11:29 ID:TOWtsDG5(1) AAS
>>423 Ruby
$><<$_.split(' | ').reduce(''){|s,e|[s.upcase,s+e][e.ord%-3]}while gets

-*- input -*-
hello
hello | world
hello | world | upper
world | hello
world | hello | upper

-*- output -*-
hello
省4
428: 2020/05/02(土)23:08 ID:MMgV24Hu(1) AAS
>>423
Java
外部リンク:paiza.io
429: 2020/05/03(日)01:19 ID:SFv1ny6W(1) AAS
>>423 Perl5, 要求仕様通り素直に三つの関数を定義し、文字列をparseした単語の関数名を呼び出す形で実装

sub hello { $o .= 'hello' }
sub world { $o .= 'world' }
sub upper { $o = uc $o }
for (<DATA>) {
 $o = '';
 &$_ for /(\w+)/g;
 print "$o\n";
}
__DATA__
省14
433: 2020/05/04(月)00:23 ID:k2FsLwVs(1) AAS
>>423
Kotlin
外部リンク:paiza.io

文字列を判定して対応する処理をするだけでも良かったが、Map に文字列と対応する処理をセットしてそれを呼び出して実行させるようにした。
また hello, world, upper 以外が入力されるとエラーが出るようになっている。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.050s