Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What is going on with this article?
@0x20FE

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

ひっそり更新します。

関連メモ
python ジャンプスタート
C,perl,PHP. JavaScript,Scilab,VHDL,pythonの比較
配列と文字列処理の比較
関数とオブジェクトの書き方メモ
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の書き方
配列と文字列処理の比較
関数とオブジェクトの書き方メモ
Scilab,NumPy,R行列処理の比較

1
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0x20FE
関心領域 RF over IP; particle filter; PLL over Ethernet; QoS; Radio systems for IP; IP over TS; IPTV; IP multicasting; P2P; Multimedia systems; PSI/SI, video coding

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
1
Help us understand the problem. What is going on with this article?