Tag: VBA

言語ごとの要点備忘録

つまみ食いが好きなので色々な言語を触ってちょっとだけコードを書く、みたいなことをいつもしているんですが、
たまに使おうとすると結構忘れていて同じ所で引っかかったりします。
復習すると忘れないだろうというのと、忘れた時に見返せる&書き足せるので、ブログにまとめることに。
なお、この記事は書いているうちになかのひとが疲れてしまったので書きかけです。


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 os 
os.listdir

標準入出力

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

関数

Sub hoge() 
End Sub

変数

Dim 変数名 As 型 型は省略可能

with

一時的なnamespaceを作っているような感じ…? Withの中では主語(対象)を省略して書ける。

With 対象 
.メソッド 
End With

シート中の要素へのアクセス

AciveSheet, ChartObjects, Chart, とか、

Interior とか、

全ての要素にアクセス?

SeriesCollection

複数のパラメータ

まだよくわかっていないのだけど、グラフの色を決定するプロパティが二つあったりしてややこしい。

どちらが優先されるのかもよくわからない。

色の要素を持つ別々のオブジェクトを継承していたりして、Interior.ColorでもLineナンチャラ.Colorみたいなのでも色が設定できたりする。わけがわからない。

コメントアウト



DOSコマンド

バッチファイルなんて書きたくない、シェルスクリプトを書かせろ

ラベルとgoto

:START 
(処理) 
PAUSE 
GOTO START

 

 


実際、いろいろ書いていると頭がこんがらがってくるので書く言語を絞ったほうが良いのかもしれない。

仕事でやってるわけでもないので継続的に一つの言語扱うのは稀だし、ぱーっと書いてぱーっと忘れる……