つまみ食いが好きなので色々な言語を触ってちょっとだけコードを書く、みたいなことをいつもしているんですが、
たまに使おうとすると結構忘れていて同じ所で引っかかったりします。
復習すると忘れないだろうというのと、忘れた時に見返せる&書き足せるので、ブログにまとめることに。
なお、この記事は書いているうちになかのひとが疲れてしまったので書きかけです。
C++
まずここを引く癖をつけよう。 https://msdn.microsoft.com/ja-jp/library/dtefa218.aspx
static
・静的ローカル変数(関数内で定義) : 関数が呼ばれ終わっても残る。
・静的メンバ変数&関数(クラス内で定義) : クラスの全てのインスタンスで共有する変数,関数。クラス名::でアクセスする。インスタンスがなくても使える。また、静的メンバ関数からは静的メンバ変数にしかアクセス出来ない。
・静的グローバル変数(グローバルスコープで定義) : ファイルの中でしか使えなくなるグローバル変数。
auto
型推論。関数内でしか使えない。
継承
class Female : (アクセス修飾子) Human {};
アクセス修飾子はpublic, protected(自身と派生クラスからアクセス), public
virtual
抽象クラスを作りたいときに。virtualをつけると仮想関数になる。
class Humanを継承したclass Femaleと class Male のインスタンスをHuman型の配列に入れて、それぞれ継承したメソッドgrowup()を順番に呼びたい時とする。
virtualしないとHumanのgrowup()を読んでしまうが、virtualしておけばそれぞれのメソッドを呼びに行ってくれる。
条件コンパイル
ヘッダに書いて宣言が重複するのを防ぐ。
#ifndef HOGEHOGE
#define HOGEHOGE
(header source code)
#endif
オーバーロードとオーバーライド
オーバーロード : 同じ名前だが引数の型が違う関数 を 複数定義
オーバーライド : 同じ名前で引数の型も同じ関数 を 上書き定義
ラムダ式
[](){}(); 引数:()は省略可能
http://kaworu.jpn.org/cpp/%E3%83%A9%E3%83%A0%E3%83%80%E5%BC%8F
参照クラス
C++/CXのみで使う。参照クラスはWindows Runtimeによって管理される(GCの対象になる)。参照カウンタを使って自動的にデストラクタが呼ばれるのでべんり
宣言 : ref
インスタンス化 : ref new
ポインタ : ^(キャレット、ハンドル) ポインタと同様に使えるがポインタではない。
リングバッファ
STL::dequeでもいいけど、ビットマスクを使うとスマートにかける。
Ruby
ここを引け http://miyamae.github.io/rubydoc-ja/
ruby、便利だが覚えることが多くて書くたび忘れるのでこれからはpythonを使うようにしたい
i++ みたいなインクリメントはできない
毎回確実にハマる
Math
requireしなくても含まれてる
コメントアウト
#か=begin =end
Python
勉強中。
ディレクトリ
標準入出力
import subprocess
subprocess.call(cmd,shell=True)
コメントアウト
# 複数行は””” ””” だが文字列として扱っているだけで公式な方法ではない
js
prototype
var classname = function(arg1) {
this.arg1 = arg1
}
classname.prototype = {
method1 : function(){},
method2 : function(){}
}
Max on js
I/O port
入力ポートの数 : inlets
出力ポートの数 : outlets
I/O
inlet : にどのポートからの入力か(0~)
augument : 実際に来た値。packされてる場合添字アクセスで取り出せる。
msg_int() とかであれば引数に変数名を指定してその名前で使える。
Verilog
まだ忘れていないことが多いのでこの項目はありません。
git
.gitignore
ホワイトリスト方式で!を使って書く時の注意。
!で無視を取り消すファイルはgitignoreから見える場所にある必要がある。一度無視してしまったフォルダの中身はgitignoreから見えないので、まず①無視してしまったフォルダをホワイトリストに入れる②フォルダの下を全て無視に加える③無視したくないファイルのみを!で否定する のようにする。
/*
/.*
!/dir/
/dir/*
!/dir/hoge.txt
VBA+Excel
なんでVBなんで書かないといけないんだろう。でもExcelのゴミみたいなグラフ描画機能をなんとかするためには
使わないといけないこともある。前回手探りで書いたけど全然わからない。
よくわからないメソッドがたくさんあるのでデバッグモードでオブジェクトを調べながら書くと良い。
条件分岐
If 条件式 Then
ElseIf 条件式 Then
Else
End If
関数
変数
Dim 変数名 As 型 型は省略可能
with
一時的なnamespaceを作っているような感じ…? Withの中では主語(対象)を省略して書ける。
シート中の要素へのアクセス
AciveSheet, ChartObjects, Chart, とか、
Interior とか、
全ての要素にアクセス?
SeriesCollection
複数のパラメータ
まだよくわかっていないのだけど、グラフの色を決定するプロパティが二つあったりしてややこしい。
どちらが優先されるのかもよくわからない。
色の要素を持つ別々のオブジェクトを継承していたりして、Interior.ColorでもLineナンチャラ.Colorみたいなのでも色が設定できたりする。わけがわからない。
コメントアウト
‘
DOSコマンド
バッチファイルなんて書きたくない、シェルスクリプトを書かせろ
ラベルとgoto
:START
(処理)
PAUSE
GOTO START
実際、いろいろ書いていると頭がこんがらがってくるので書く言語を絞ったほうが良いのかもしれない。
仕事でやってるわけでもないので継続的に一つの言語扱うのは稀だし、ぱーっと書いてぱーっと忘れる……