タグ

高階関数に関するItisangoのブックマーク (2)

  • Stream APIの演習、様々な処理でストリームを使ってみる

    前回、前々回と2回に渡って、ストリームの基的な使い方について説明してきました。 とはいうものの、いざストリームを使おうとしても、なかなかすんなりとはいかないのも仕方がないところです。今までのJavaのプログラミングスタイルからすると、ストリームのスタイルは大きく異なります。特に関数を用いて処理を指定していく方法は、今までのJavaではあまりありませんでした。 このスタイルは連載の「Java SE 8のラムダ式はどうやって活用するか」で紹介した、高階関数を用いた関心の分離に他なりません。 そこで、今回は様々な処理をストリームで行うことにより、ストリームを使う上での考え方を紹介していきます。 条件に合致するものに対して処理を行う 拡張for文を使用してリスト1のような処理を書くことはありませんか。 リスト1●条件に合致した要素に対し処理を行う List<String> elements =

  • 腐女子のためのlisp入門 #2 - Oh! Can Not Diary

    こんばんは。第二回腐lispの時間です。 今回はループ処理と高階関数について説明します。そして最後にfizzbuzz問題のアレンジ版を作ってみますよ。 ループ 一番単純なループはwhileです。書き方はこちら。 (while 条件式 フォーム1 フォーム2 ) whileを使って、1からlimitまでのリストを作る関数を作ってみます。 fizzbuzzなので1から15までのリストを作ります。 (defun generate-list (limit) (let ((i 1) ret) (while (<= i limit) (setq ret (cons i ret)) (setq i (1+ i))) (reverse ret))) (generate-list 15) ; (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) 高階関数 高階関数というのは引数に関数を

    腐女子のためのlisp入門 #2 - Oh! Can Not Diary
    Itisango
    Itisango 2012/03/12
    俺はこんなスマートには書けないな。LISP力衰えてる。
  • 1