2014年04月

マークアップエンジニアとかWEBディレクターとかをやってる僕が、自分が詰まって、解決したことをここに残しておきますよ。

Arduinoでのエラー「'class HardwareSerial' has no member named 'printIn'」

Serial.println(val);


シリアルモニタに値を表示するためのprintlnという命令で詰まったのでメモ。

× printIn 
○ println 

わかりづらいけど、6文字目の「l」は大文字のアイ(I)ではなくて、小文字の エル(l)だのね。

プリントインかと思ってたけど、プリントランなのかな。


エラー文で検索してくる人のためにメモ。

 

javascriptでsetIntervalの最初の1回はまたずにすぐに実行したい時

繰り返し処理をする時にsetInterval使うよね。

setInterval(function(){
hogehoge();
},5000) 
var hogehoge = function(){
なんかの処理

↑5秒ごとに hogehogeを実行

みたいな感じで。
スライドショーなんかを自作するときにも使う。


このsetIntervalというのは、第2引数である実行時間(上の例で言うと5000の部分)を待ってから、処理を実行するので、最初の一回の処理も5秒後に行われる。 


でもたまに、最初の処理はすぐに行って欲しい、という時がある。

繰り返しの実行は5秒ごとにしたいけど、最初の1回目だけはすぐにスタートして欲しい!5秒も待ってられない!死ぬ!っていうとき。

そういう時はこう。

hogehoge();
setInterval(function(){
hogehoge();
},5000) 
var hogehoge = function(){
なんかの処理

最初にhogehoge()を置いただけ。
 そんだけか・・って感じすけど。。

クリックでスタートしたい時は以下のようにする。

$(".startBtn").click(function(){
hogehoge();
var hogeTimeout = setInterval(function(){
hogehoge();
},5000) 
});
var hogehoge = function(){
なんかの処理



クリックでスタートするときは、のちのち、止める処理が必要になったりするので、
hogeTimeoutとか名前をつけた変数にいれておいて、とめたいときには
clearTimeout(hogeTimeout);などとするといい。

最初の1回はすぐ実行で
もっと良い方法があったら知りたい。 

 
記事検索

リモキュー

お仕事のご依頼・お問い合わせはこちら

コーディングのお仕事が得意です。

https://twitter.com/tacshock
タグクラウド
QRコード
QRコード
  • ライブドアブログ