mieki256's diary



2017/03/01(水) [n年前の日記]

#1 [autohotkey] AutoHotkeyをまだまだまだ勉強中

AutoHotkeyは言語仕様がなんとなく酷い気がする。ところどころにトラップが仕込んであるというか。いやまあ、AutoHotkeyを言語と呼んでいいのかどうかも分からないけど。Python や Ruby って、ちゃんと作られてるんだなあと改めて感心。AutoHotkeyに比べると、HSPすら美しい言語仕様に思えてくる。

おそらく後から色々仕様が追加されて、過去に書かれたスクリプトとの互換性を重視した結果こうなったのかなと思わないでもなかったり。

名前を間違えてた。 :

「AutoHotKey」じゃなくて「AutoHotkey」なのですな。前者と思い込んでた。他の日記ページを修正。

三項演算子がよく分からん。 :

; 三項演算子のテスト

a=D

; OK
b := a="D" ? 1 : 0     ;=> 1
MsgBox % b

; NG
b := a=D ? 1 : 0       ;=> 0
MsgBox % b

; NG
b = a=D ? 1 : 0        ;=> a=D ? 1 : 0
MsgBox % b

ExitApp

~!Q::
  ExitApp
二番目の書き方をしてしまって、思ったように動かなくてハマったり。

配列の種類が2つあるような気がする。 :

AutoHotkeyには、配列の種類が少なくとも2つあるようで。
  • StringSplitで配列にした場合。
  • Object() を配列のように使った場合。
混在させて書いてしまったものだから、そこでハマった…。

; StringSplit を利用して文字列を分割、配列にする例
; 結果は、Object を使った配列相当とは違う種類の配列になる模様

inputvar := "Pen Pineapple Apple Pen"
StringSplit, outvar, inputvar, %A_space%

; Display the length of the array. 配列の長さを表示
MsgBox % outvar0           ; OK
MsgBox % outvar.MaxIndex() ; NG
MsgBox % outvar.length()   ; NG

; Display elements of an array. 配列の要素を表示
MsgBox % outvar2    ; OK
MsgBox % outvar[2]  ; NG

; Loop, Parse を利用して文字列を分割、配列にする例
; Objectを配列相当として扱う

inputvar := "Pen Pineapple Apple Pen"
outvar := Object()
Loop, Parse, inputvar, %A_space%
  outvar.Insert(A_LoopField)

; Display the length of the array. 配列の長さを表示
MsgBox % outvar0           ; NG
MsgBox % outvar.MaxIndex() ; OK
MsgBox % outvar.length()   ; OK

; Display elements of an array. 配列の要素を表示
MsgBox % outvar2    ; NG
MsgBox % outvar[2]  ; OK

Object()を連想配列として使う。 :

Object()を使うと連想配列っぽいことができるようで。
; スペース区切りの文字列を分割してObject()を連想配列として扱いつつ記録していく例
; Object() へアクセスする記述もテスト

ks=a b c d e `, -

ks := Trim(ks, " ")
cnt = 9000

lst_a := Object()
lst_b := Object()

; like StringSplit
Loop, Parse, ks, %A_space%
{
  k=%A_LoopField%
  v=%k%
  lst_a.Insert(k, v)          ; a: "a"  
  lst_b.Insert(k, cnt)        ; a: 9000
  cnt+=1
}

For k, v in lst_a
{
  If lst_b[k]=9002
  {
    s := k . " : " . lst_b[k]
    MsgBox % s
  }
}

#2 [pc] M/B上のボタン型電池を取り外す工具って無いのだろうか

たまに、PCのM/B上についてるボタン型電池を取り外して交換することがあるのだけど。ていうか昨日もCMOSクリアのために取り外したのだけど、電池を外す時にどうも毎回苦労していて。爪でアレすると爪が削れるし。小さいマイナスドライバーを突っ込むと壊しそうだし。

サクッと外せる専用の工具とか無いのかなあ…。あるいは、簡単に取り外せるホルダーを上乗せできるアダプタみたいなソレとか。

あるわけないか。年に何回作業するんだよ、てな状況だし。皆、頻繁にやるわけでもないからこのくらいは我慢してチマチマ作業しますよ、って感じなんだろう…。

簡単に取り外せるということは輸送中に外れる可能性も高くなるわけだし。コスト的な問題もあるのだから、これ以上改善のしようがないのだろうな。

#3 [zatta][neta] 流行ってるものを歌にするとヒットする時があるらしい

数日前にTVを見てたら、集団就職がメジャーだった時期に上野駅をテーマにした歌が大ヒット、てな映像が流れていて。

それを見ながら、それぞれの時期に流行していたもの、メジャーだったものをテーマにして歌を作るとヒットする時があるのだなあ、てなことを今更ながら思ったわけで。

だとすれば…。今、そういう方向性で歌を作るとしたら、どんな歌が作れそうだろう。

心筋梗塞とか、メタボとか、ブラック企業をテーマにした歌はどうかな?

売れるわけねえだろ馬鹿じゃねえの>自分。

いや待て。ホントにそうか? 「魚魚魚 魚を食べるとー」的方向性のような曲として売れたりしないかな。無理か。

以上、1 日分です。

過去ログ表示

Prev - 2017/03 - Next
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project