質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

関数型プログラミング

関数型プログラミングとは、関数を用いて演算子を構築し、算出し、コンピュータプログラムを構成する枠組みです。

Q&A

1回答

1767閲覧

今度こそこの書き方で合ってますか?

退会済みユーザー

退会済みユーザー

総合スコア0

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

関数型プログラミング

関数型プログラミングとは、関数を用いて演算子を構築し、算出し、コンピュータプログラムを構成する枠組みです。

0グッド

1クリップ

投稿2017/10/22 08:08

編集2017/10/22 09:00

JavaScript

1function pipe(...funcs) { 2 return input => { 3 return funcs.reduce((accumulator, func) => { 4 return func(accumulator); 5 }, input); 6 }; 7} 8 9 10function increment(value) { 11 return value + 1; 12} 13 14function double(value) { 15 return value * 2; 16} 17 18const incrementAndDouble = pipe(increment, double); 19console.log(incrementAndDouble(3)); // 8

これだとpipe関数が返す関数の実引数が配列だった時に上手くいかないので、汎用的じゃないですよね。。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/10/22 09:08

はい(涙)
kei344

2017/10/22 09:16

「合って無いコード」ってなんですか?何を持って「合」とするかは状況によるでしょう。質問タイトルおよび本文を編集することをお勧めします。
KSwordOfHaste

2017/10/22 09:31

閲覧者は質問背景を知るために質問者さんの質問履歴をみたりします。同一アカウントで質問をしていただくと助かります。
退会済みユーザー

退会済みユーザー

2017/10/22 09:38

前のアカウントは削除してしまったので。。。
退会済みユーザー

退会済みユーザー

2017/10/22 09:40

削除依頼出しました(涙)
KSwordOfHaste

2017/10/22 09:45 編集

削除依頼は必要ないと思います。「以前の質問はこれです」ぐらいを質問文に添えれば充分ですが・・・手遅れ? --- 上のコメントをより直接的に「前の質問へのリンクをかきましょう」というべきでした。わかりにくいコメントだったですね。スミマセン
kei344

2017/10/22 09:43

削除依頼出しました ← なぜ?
think49

2017/10/22 13:07

質問内容を表す具体的なタイトルに修正して頂けませんか。teratailは同じ質問に至った人が参考にする共有資産でもありますが、「今度こそこの書き方で合ってますか?」からは質問内容が読み取れません。
think49

2017/10/22 13:09

kei344 さんが質問された "「合って無いコード」ってなんですか?" に対しても返答があると、質問内容がより具体的に伝わって良いと思います。
guest

回答1

0

前質問

上記スレッドの質問者は退会していますが、前質問者も本スレッドの質問者である hayatomo さんのようです。

削除依頼出しました(涙)

他の方も指摘されているように、私も本質問に削除依頼を出す必要はないと思います。
前質問から本質問に至る流れが回答者に伝われば、問題ありません。

回答

これだとpipe関数が返す関数の実引数が配列だった時に上手くいかないので、汎用的じゃないですよね。。。

そうでしょうか。
Function#apply やスプレッド要素を使えば、対応可能ですよ。

JavaScript

1function pipe(...funcs) { 2 return input => { 3 return funcs.reduce((accumulator, func) => { 4 return func(accumulator); 5 }, input); 6 }; 7} 8 9 10function increment(value) { 11 return value + 1; 12} 13 14function double(value) { 15 return value * 2; 16} 17 18console.log(pipe(increment, double)(3)); // 8 19console.log(pipe.apply(null, [increment, double])(3)); // 8 20console.log(pipe(...[increment, double])(3)); // 8

jQuery() のように、引数の値によって処理を変える実装を私は好ましいとは思いません。
インターフェースはシンプルであるべきだと考えます。
その方がAPIの習得が容易です。

Re: hayatomo さん

投稿2017/10/22 13:04

think49

総合スコア18164

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/10/22 13:44

ご回答ありがとうございます。「pipe関数が返す関数の実引数が配列だった時に」とありますように、pipe関数の実引数が配列であった場合ではなくて、pipe関数が返す関数の実引数が配列であった時の話です。
think49

2017/10/22 17:26 編集

To: hayatomo さん 返答していない [質問への追記・修正、ベストアンサー選択の依頼] に返事を返しては如何でしょうか。
退会済みユーザー

退会済みユーザー

2017/10/22 23:33

削除依頼済です。
miyabi-sun

2017/10/23 01:42

この粒度の回答作るだけで15分くらいは掛かるんだけど、 think49さんレベルの人を派遣やクラウドファンディングで仕事依頼したら1時間で3000〜4000円くらいは掛かるよ。 それを踏まえて本気で削除依頼出せばいいと思ってるの? この質問消えたらわざわざthink49さんが回答出す為に費やした時間はどうなると思う? 別に金だせと言ってるわけじゃないけど、「削除依頼済です。」の一言で片付けようとするなら、 せめてthink49さんが善意でひねり出した「15分を撒き戻してほしい」。 他人の時間を巻き戻せないなら誠実に対応するべきだよ。
退会済みユーザー

退会済みユーザー

2017/10/23 02:29

時系列的に削除依頼済でその後に回答がありましたので、取消はきかないのです。
think49

2017/10/23 07:07

退会されたようですが、記事を読むことは出来ると思うので、私の意見を書いておきます。 To: hayatomo さん(質問者さん) > 削除依頼済です。 「削除依頼済なこと」と「返信しないこと」は別の問題です。 hayatomo さんは「先に投稿された」修正依頼に返答せず、「後から投稿された」私の回答にだけ補足質問する返信をしました。 hayatomo さんは「私の回答に返信する時間」を「修正依頼に返信する時間」にあてる事が出来る状況でしたが、それをしませんでした。 hayatomo さんは私の回答に対して「削除依頼済です。」と返信せず、修正依頼に対してだけ「削除依頼済です。」と逃げを打ちました。 とても不誠実な行為だと私は思います。 > ご回答ありがとうございます。「pipe関数が返す関数の実引数が配列だった時に」とありますように、pipe関数の実引数が配列であった場合ではなくて、pipe関数が返す関数の実引数が配列であった時の話です。 この質問に対しての解を私は持っていますが、不誠実な質問に回答するつもりはありません。 他の方が回答に参加しないのも、hayatomo さんの対応に思うところがあるからだと思います。 批判が集中している事から誤解してほしくないのですが、修正依頼をする人は、hayatomo さんが改善すれば回答してくれる人たちでhayatomo さんの敵ではありません。 この質問に修正依頼をした方々はJavaScript回答者の中でも常連の方であり、改善を見せた人に回答してくれる人だと私は思います。 hayatomo さんは回答してくれる方も一人の人間だと認識しているでしょうか。 hayatomo さんが誠実な態度をとれば回答者は誠実に返してくれますが、不誠実な態度をとれば快い回答を返してくれません。 hayatomo さんが書いた文章を他人がどのように捉えるか、という事をもう少し意識してほしいと思います。 > 時系列的に削除依頼済でその後に回答がありましたので、取消はきかないのです。 こちらについては、コメントを投稿できる時点でまだ退会してないはずなので、運営に退会申請取り消しの要望を送る事は可能であったと思います。 実際、どのような対応になるのか不明なので、運営に問い合わせました(返信待ち)。 また、「質問の削除」と「ユーザの退会」は別物です。 質問を削除したら他の人が参照する事が出来なくなりますが、退会申請はユーザ名が見えなくなるだけでログとしては残ります。 なので、質問内容を改善する事に意味はあります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問