2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

関数とオブジェクトの書き方メモ

Last updated at Posted at 2017-12-25

ひっそり更新します。

関連メモ
python ジャンプスタート
C,perl,PHP. JavaScript,Scilab,VHDL,pythonの比較
[配列と文字列処理の比較](https://qiita.com/0x20FE/items/ b6ea768692297b721951)
関数とオブジェクトの書き方メモ
Scilab,NumPy,R行列処理の比較

##関数

関数定義 関数呼び出し
C 型 関数名(引数型 引数名,...){
  return 値;
}
関数名(引数,...)
perl # 例
sub 関数名{
  my @args=@_;
  return 戻り値;
}
#例
$ret=関数名(引数,...);
($r1,$r2)=関数名(引数,...);
PHP function 関数名($引数){
  return 値;
}
$val=関数名(...);
JavaScript function 関数名(引数){
  return 値;
}
$val=関数名(...);
SciLab function [r1,r2]=関数名(引数1,引数2)
  r1=戻り値1;
  r2=戻り値2;
endfucntion
[r1,r2]=関数名(引数1,引数2)
VHDL function 関数名(引数1:in 型)
  return 型 is
  variable 変数:型;
begin
  変数:=値;
  return 変数;
end 関数名
変数<=関数名(引数1);
python def 関数名(引数1,...):
  ...
  return =a,b
a,b=関数名(引数...)
気をつけるところは、perlの引数の渡し方、VHDLの戻り値の型指定でしょうか。perlやC++の参照渡しもややこしいですが。

オブジェクト

##コンストラクタ定義とインスタンス作成方法

コンストラクタ定義 インスタンス作成
C++ クラス名{
  クラス名();
  クラス名(const クラス名 &x);//コピーコンストラクタ
  ...
};
クラス名::クラス名(){...}
クラス名::クラス名(const クラス名 &x){...}
クラス名 obj;
クラス名 b=obj;
perl package クラス名;
sub new{
   my $self={};
  $self->{要素名}=...;
  bless ($self);
  return $self;
}
1;
$obj = クラス名->new();
PHP class クラス名(){
  function __construct(引数1,...){}
}
$obj=new クラス名(...);
JavaScript var コンストラクタ名=function(引数1,...){
  this.メンバー名=...;
  this.メソッド名=function(...){...}
}
var obj=new コンストラクタ名(引数1,...);
python class クラス名:
  def __init__(self,引数1,...):
    ...
obj = クラス名(引数...)
sciLab obj=function クラス名(...)
 obj=tlist(['クラス名';'メンバ名1';'メンバ名2'],[メンバ値1],[メンバ値2]);
 obj.メンバ名1=[...];
endfunction
obj=クラス名(...);
obj.メンバ名2=[...];

##メソッド

メソッド定義 メソッド呼び出し
Objective-C
クラスメソッド
+(型) メソッド名:(引数1型) 引数1名 ラベル2:(引数2型)引数2名 ...
{return 戻り値;}
[クラス名 メソッド名:引数1 ラベル2:引数2 ...];
Objective-C
インスタンスメソッド
-(型) メソッド名:(引数1型) 引数1名 ラベル2:(引数2型)引数2名 ...
{return 戻り値;}
[obj メソッド名:引数1 ラベル2:引数2 ...];
perl sub メソッド名{
  my $self = shift;
  $self ->{メンバー名}...
}
$obj->メソッド名(引数1,...);
PHP クラス定義内で
function メソッド名(...){...}
$obj->メソッド名(...);
JavaScript コンストラクタ内で
this.メソッド名(引数1,...)={...};
obj.メソッド名(...);
python クラス定義内で
  def メソッド名(self,引数1,...):
    self.メンバー変数=...
obj.メソッド名(引数...)

##SciLab関連ドキュメントリンク
install
macOSでSciLabを動かすまで
SciNoteのオートコンプリートをとめたい

実践
SciLabでCSV読み込み
SciLabでGUIを使ってみる
Mac/Windows共用scilabスクリプト未公開
SciLabでフィルタを適用する未公開
プロットメモ未公開
プロットあれこれ未公開

他の言語と比較・書き換え
Scilab (NumPy) - plotの書き方
[配列と文字列処理の比較](https://qiita.com/0x20FE/items/ b6ea768692297b721951)
関数とオブジェクトの書き方メモ
Scilab,NumPy,R行列処理の比較

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?