一覧
状態:-
閲覧数:1,052
投稿日:2018-04-22
更新日:2018-05-08
内容
クラス定義
継承
関数定義
変数定義
数字開始
if文
文字の連結
正規表現
Morris-Pratt algorithm border
クラス定義
Java
classキーワード使用
public class MainActivity {
}
}
Kotlin
classキーワード使用
class MainActivity {
}
}
継承
Java
extendsキーワード使用
public class MainActivity extends AppCompatActivity {
}
}
Kotlin
コロン使用
class MainActivity : AppCompatActivity() {
}
}
Go
存在しない
関数定義
JavaScript
functionキーワード使用
Java
関数、メソッドを宣言する専用キーワードは存在しない
Kotlin
funキーワード使用
override fun onCreate(savedInstanceState: Bundle?) {
}
}
C#
関数、メソッドを宣言する専用キーワードは存在しない
変数定義
Java
型名を変数名の前へ配置
String greeting = "こんにちは"
Kotlin
型名を変数名の後ろへ配置
val greeting: String = "こんにちは"
・自動的に代入される型を推論するため、下記でも可val greeting = "こんにちは"
Go
型名を変数名の後ろへ配置
var 変数名 型名
var greeting string
数字開始
PHP
数字開始「変数」
・×
$4k_shooting
・◯$_4k_shooting
・有効な変数名は、文字またはアンダースコアから始まるMySQL
数字開始「カラム名」
・内容に応じて異なる
数字以外も含む場合
・◯
4k_shooting
SELECT 4k_shooting FROM `status`
数字のみで構成されている場合
・条件付きで◯
※引用符で囲む必要がある
`4`
SELECT `4` FROM `status`
if文
文字の連結
Kotlin
String型の文字にInt型の値や変数を連結する場合
・$を使用して連結する
val sheepText = "ひつじが$1匹"
val sheepText = "ひつじが$sheepCount 匹"
あるクラスの値を連結する場合
・${}を使用して連結する
val sheepText = "ひつじが${sheep.count}匹"
正規表現
Perl
言語そのものに正規表現が備わっているため直接プログラムに正規表現を書く
JavaScript
言語そのものに正規表現が備わっているため直接プログラムに正規表現を書く
PHP
「正規表現パターン文字列」を関数へ渡して処理する
Morris-Pratt algorithm border
JavaScript
var S = 'aabaabaaa';
var A = [];
A[0] = -1;
var j = -1;
for (var i = 0; i < S.length; i++) {
while (j >= 0 && S[i] != S[j]) j = A[j];
j++;
A[i+1] = j;
}
console.log(A); //(10) [-1, 0, 1, 0, 1, 2, 3, 4, 5, 2]
ECMASCript2015
const S = 'aabaabaaa';
const A = [];
A[0] = -1;
let j = -1;
for (let i = 0; i < S.length; i++) {
while (j >= 0 && S[i] != S[j]) j = A[j];
j++;
A[i+1] = j;
}
console.log(A); //(10) [-1, 0, 1, 0, 1, 2, 3, 4, 5, 2]
C++
最初に0を格納
・10個指定
#include <iostream>
using namespace std;
#include <vector>
#include <string>
int main() {
//vector<int> A = {1, 2, 3, 4, 5};
vector<int> A = {0,0,0,0,0,0,0,0,0,0};
//'aabaabaaa'
std::vector<string> S = {"a","a","b","a","a","b","a","a","a"};
// ここから
A[0] = -1;
int j = -1;
for (int i = 0; i < S.size(); i++) {
while (j >= 0 && S[i] != S[j]) j = A[j];
j++;
A[i+1] = j;
}
// ここまで
for (int i = 0; i < (int)A.size(); i++) {
std::cout << A[i] << std::endl;
}
return 0;
}
//-1
//0
//1
//0
//1
//2
//3
//4
//5
//2
・まとめて指定
#include <iostream>
using namespace std;
#include <vector>
#include <string>
int main() {
//vector<int> A = {1, 2, 3, 4, 5};
int A[10]={0};;
//'aabaabaaa'
std::vector<string> S = {"a","a","b","a","a","b","a","a","a"};
// ここから
A[0] = -1;
int j = -1;
for (int i = 0; i < S.size(); i++) {
while (j >= 0 && S[i] != S[j]) j = A[j];
j++;
A[i+1] = j;
}
// ここまで
for (int i = 0; i < (int)sizeof(A)/sizeof(*A); i++) {
std::cout << A[i] << std::endl;
}
return 0;
}
//-1
//0
//1
//0
//1
//2
//3
//4
//5
//2
0を格納する必要はない
#include <iostream>
using namespace std;
#include <vector>
#include <string>
int main() {
//vector<int> A = {1, 2, 3, 4, 5};
int A[10];
//'aabaabaaa'
std::vector<string> S = {"a","a","b","a","a","b","a","a","a"};
// ここから
A[0] = -1;
int j = -1;
for (int i = 0; i < S.size(); i++) {
while (j >= 0 && S[i] != S[j]) j = A[j];
j++;
A[i+1] = j;
}
// ここまで
for (int i = 0; i < (int)sizeof(A)/sizeof(*A); i++) {
std::cout << A[i] << std::endl;
}
return 0;
}
//-1
//0
//1
//0
//1
//2
//3
//4
//5
//2
動的配列
#include <iostream>
using namespace std;
#include <vector>
#include <string>
int main() {
//vector<int> A = {1, 2, 3, 4, 5};
vector<int> A(10);
//'aabaabaaa'
std::vector<string> S = {"a","a","b","a","a","b","a","a","a"};
// ここから
A[0] = -1;
int j = -1;
for (int i = 0; i < S.size(); i++) {
while (j >= 0 && S[i] != S[j]) j = A[j];
j++;
A[i+1] = j;
}
// ここまで
for (int i = 0; i < (int)A.size(); i++) {
std::cout << A[i] << std::endl;
}
return 0;
}
//-1
//0
//1
//0
//1
//2
//3
//4
//5
//2
C++11
#include <iostream>
using namespace std;
#include <vector>
#include <string>
#include <array>
int main() {
//vector<int> A = {1, 2, 3, 4, 5};
// vector<int> A = {0,0 ,0 ,0 ,0,0,0,0,0,0};
std::array<int, 10> A;
//'aabaabaaa'
std::vector<string> S = {"a","a","b","a","a","b","a","a","a"};
// ここから
A[0] = -1;
int j = -1;
for (int i = 0; i < S.size(); i++) {
while (j >= 0 && S[i] != S[j]) j = A[j];
j++;
A[i+1] = j;
}
// ここまで
for (int i = 0; i < (int)A.size(); i++) {
std::cout << A[i] << std::endl;
}
return 0;
}
//-1
//0
//1
//0
//1
//2
//3
//4
//5
//2