Gauche > Archives > 2013/04/28

2013/04/28 06:04:39 UTCyamasushi
#
(define-macro (-> x form . more)
  (if (pair? more)
      `(-> (-> ,x ,form) ,@more )
      (if (pair? form)
          `(,(car form) ,x ,@(cdr form))
          `(,form ,x))))

(define-macro (->> x form . more)
  (if (pair? more)
      `(->> (->> ,x ,form) ,@more )
      (if (pair? form)
          `(,(car form) ,@(cdr form) ,x)
          `(,form ,x))))
#
gosh> (->> '(45 3) ($ values->list $ apply quotient&remainder ))
(15 0)
gosh> (->> '(9 3) ($ values->list $ apply quotient&remainder ))
(3 0)
gosh> (->> '(9 5) ($ values->list $ apply quotient&remainder ))
(1 4)
gosh> (->> '(9 5) ($ values->list $ apply quotient&remainder ) ($ values->list $ apply quotient&remainder ) )
(0 1)
#
->じゃなくて->>でした。
#
gosh> (-> 1 (list 2 3) (list 4 5 6))
((1 2 3) 4 5 6)
gosh> (->> 1 (list 2 3) (list 4 5 6))
(4 5 6 (2 3 1))
2013/04/28 07:12:37 UTCyamasushi
#
replのreaderで、portから(read)が読んだデータを取得して、直前の入力文字列を取り出したいのですが、これはportのどういった機能を使えばいいのでしょうか? やりたいことは、直前に評価した式に用いた文字列をクリップボードに送りたいわけです。(そして、それをeditorなどに貼り付ける)
2013/04/28 07:57:04 UTCyamasushi
#
あ、仮想ポートを使えばいいわけですか。
2013/04/28 23:25:26 UTCshiro
#
wilikiで、リンク先のアップデートなど小さな修正をした時は、Don't update Recent ChangesをチェックしてコミットするとRecentChangesとかそれを購読しているフィードにアップデートを流さずに済みます。