~~NOTOC~~ ---json { "title":"keyin()", "description":"受信バッファからデータを抜き出します" } --- \\ ====== keyin() ======
==== 説明 ==== 受信バッファからデータを抜き出します。\\ ==== 構文 ====~~DISCUSSION~~echo = keyin()==== 引数 ==== ありません\\ ==== 返り値 ====echo = エコーバック文字列(エコーバックモード有効時)==== 備考 ==== 受信バッファからデータを1文字取得します。\\ 取得した文字(データ)は関数[[.:inkey|inkey()]]を呼び出すことで得ることができます。\\ ライン入力モードが有効の場合は入力バッファに取り込まれます。\\ エコーバックモードが有効の場合は取り込んだ文字を返しますが、 エコーバックモードが有効かつ入力フィードバックが有効のとき、BSキーが押されると表示文字を打ち消すための文字列が出力されます。\\ ==== 用例 ==== 入力した文字をコンソールに出力する場合は次のようにします。\\sub key_input { $self = shift; $in = $self->from_node()->{'__Input'}; # 入力制御オブジェクト my $echoback = $in->keyin(); # 入力制御オブジェクトの受信バッファから1文字取得 $self->from_send( $echoback ) if ( defined($echoback) ); # エコーバック文字列を返したらノードに送出 }このコードでは、オブジェクトに対して本関数を呼び出し、返ったエコーバック文字列を関数[[.:..:..:c_from_send|from_send()]]でノードに送出します。\\ このコードはアプリケーション処理ハンドラ(AppWork)に登録し、サーバ処理イベントに連動して呼び出されることで一文字ずつ取得してはノードにエコーバックするを繰り返します。\\