(define -ayalog '())

括弧に魅せられて道を外した名前のないプログラマ

Re:超簡単にTwitterに連投できる「連投」をつくりました

@が面白いことしてたので、パクったアイデアを頂いた。
元記事こっち。

昨晩、僕の本垢で「Hello, world!!」を100回程度連投していたのは、これのコードを書こうとしていたため。。

ソースコードこんなん。めっさ汚い。

#!/usr/local/bin/gosh
(use srfi-1)
(use net.twitter)
(use gauche.parseopt)

(define *cred* (make <twitter-cred>
		      :consumer-key "xxxx"
		      :consumer-secret "xxxx"
		      :access-token "xxxx"
		      :access-token-secret "xxxx"))

(define (make-space n)
  (make-string n (integer->char 12288)))

(define (main args)
  (let-args (cdr args)
	    ((volume "v|volume=i" 5)
	     (overdrive "o|overdrive")
	     . rest)
	    (if (or (< volume 0)
		    (if overdrive #f (>= volume 10))
		    (null? rest))
		(error "ERROR : " volume overdrive rest)
		(for-each (^x (twitter-update *cred*
					      (string-append (car rest)
							     (make-space x))))
			  (iota volume)))))

謎のoverdriveモード付けました。基本は0〜10回で呟けますが、オプション入れるとリミッター解除できます。(いらない
エラー処理はとりあえず、デバッグ時に値拾いたかっただけでそのままにしてある。(めんどk

iotaこわい

昨晩の誤爆の件は(iota 10 128)を(iota 138 128)と書いてしまったのが原因だったんですが、普段ちょろちょろと書いていると(iota count start step)という順番で並んでいるのを忘れ、(iota end start)というイメージになりがちなので今回iotaにしてやられたっていう気持ちでいっぱいです。
(iota 10 1)ってなんかちょっとテストするときとかに、よく使うというか1から10までのリストでテストしたいみたいなことがちょこちょこあるので、今回みたいにうっかりしていると間違えてぐぬぬぬ…っていう思いをしてしまう。