プãƒã‚°ãƒ©ãƒ 言語 変数
エスケープ
\' シングルクォーテーション
\" ダブルクォーテーション
\\ \記å·
\n 改行
\r リターン
\b ãƒãƒƒã‚¯ã‚¹ãƒšãƒ¼ã‚¹
\t 水平タブ
\0 NULLæ–‡å—を表ã™
特殊機能
\l # 次ã®ï¼‘æ–‡å—ã‚’å°æ–‡å—ã«ã™ã‚‹
\u # 次ã®ï¼‘æ–‡å—を大文å—ã«ã™ã‚‹
\L # \Eã¾ã§ã®æ–‡å—åˆ—ã‚’å°æ–‡å—ã«ã™ã‚‹
\U # \Eã¾ã§ã®æ–‡å—列を大文å—ã«ã™ã‚‹
\E # \Lã‚„\Uを終了ã•ã›ã‚‹
特ã«Perlã§ã¯ä»¥ä¸‹ã®æ–‡å—ã«ã¤ã„ã¦ã‚‚エスケープãŒå¿…è¦(æ£è¦è¡¨ç¾åˆ©ç”¨ã®ç‚º)
*
+
.
?
{
}
(
)
[
]
^
$
–
|
/
「'ã€ã®ã‚¨ã‚¹ã‚±ãƒ¼ãƒ—
my $s = ' Let's Play! ' , '\n' # ⇒ NG
エスケープ文å—「\ã€ã‚’使用
my $s = ' Let\'s Play! ' , '\n' # ⇒ OK
q/ æ–‡å—列 /を使用
my $s = q/ Let's Play! / , '\n' # ⇒ OK
外å´ã«ã€Œ"ã€ã‚’使用
my $s = " Let's Play! " , "\n" # ⇒ OK
値渡ã—・å‚照渡ã—
{
  int a = 10;
  int b = 10;
  int c = 10;
  SubRoutine(prmA: a, ref refB: b, outC: out c);
  MessageBox.Show(text: a.ToString()); ⇒10(値渡ã—)
  MessageBox.Show(text: b.ToString()); ⇒100(å‚照渡ã—)
  MessageBox.Show(text: c.ToString()); ⇒1000(å‚照渡ã—)
}
private void SubRoutine(int prmA, ref int refB, out int outC)
{
  prmA *= 10;
  refB *= 10;
  //outã¯ã‚µãƒ–ルーãƒãƒ³å†…ã§å¿…ãšåˆæœŸåŒ–ã—ãªã‘れã°ãªã‚‰ãªã„
  int d = outC; outCã«å€¤ã‚’入れるå‰ã«å‡¦ç†ã—ã¦ã„ã‚‹ã®ã§Ã—
  outC *= 10; åŒã˜ã×
  outC = 1000; OK(outCã¯å‚照渡ã—)
}
int v = 10;
fnFunc(v);
→v:10
void fnFunc(int p)
{
 引数å—ã‘å–り時ã®å‡¦ç†
 vã®å€¤ã‚’æ ¼ç´
 p = v
 
 p += 1;
 v:10
 
 cout << p << '\n';
 →11
 return;
}
ãƒã‚¤ãƒ³ã‚¿æ¸¡ã—
「プãƒã‚°ãƒ©ãƒ 言語 ãƒã‚¤ãƒ³ã‚¿/関数ã¸ã®å‚照渡ã—ãƒã‚¤ãƒ³ã‚¿æ¸¡ã—ã€å‚ç…§
å‚照渡ã—
「プãƒã‚°ãƒ©ãƒ 言語 ãƒã‚¤ãƒ³ã‚¿/関数ã¸ã®å‚照渡ã—ãƒã‚¤ãƒ³ã‚¿æ¸¡ã—ã€å‚ç…§
  Dim a As Integer = 10
  Dim b As Integer = 10
  Dim c As Integer = 10
  Call SubRoutine(prmA:=a, prmB:=b, refC:=c)
  MessageBox.Show(text:=a.ToString()) ⇒10(値渡ã—)
  MessageBox.Show(text:=b.ToString()) ⇒10(値渡ã—)
  MessageBox.Show(text:=c.ToString()) ⇒100(å‚照渡ã—)
End Sub
Private Sub SubRoutine(prmA As Integer, ByVal prmB As Integer, ByRef refC As Integer)
  prmA *= 10
  prmB *= 10
  refC *= 10
End Sub
渡ã™å¤‰æ•°ãŒåŸºæœ¬åž‹(プリミティブ型)ã®å ´åˆã¯å€¤æ¸¡ã—ã€
å‚ç…§åž‹ã®å ´åˆã¯å‚照渡ã—ã«ãªã‚‹ã€‚
「データ型ã€å‚ç…§
値渡ã—
void method(int num){
 num += 10;
 System.out.println(num);
 ⇒20
}
int num = 10;
obj.method(num);
System.out.println(num);
⇒10
※値渡ã—ã•れã¦ã„ã‚‹
å‚照渡ã—
void method(int[] num){
 num[0] += 10;
 System.out.println(num);
 ⇒20
}
int[] num = {10};
obj.method(num);
System.out.println(num[0]);
⇒20
※å‚照渡ã—ã•れã¦ã„ã‚‹
クラスを引数ã¨ã—ã¦æ¸¡ã™å ´åˆ
クラス変数を引数ã¨ã—ã¦æ¸¡ã™å ´åˆ
public class MyClass {
  private int myInt;
  public MyClass(int prm)
  {
    this.setMyInt(prm);
  }
  public int getMyInt() {
    return this.myInt;
  }
  public void setMyInt(int myInt) {
    this.myInt = myInt;
  }
}
public static void main(String[] args) {
  
  MyClass m = new MyClass(10);
  // m.myInt : 10
  
  myFunc(m);
  // m.myInt : 15
  // クラスã¯å‚ç…§åž‹ãªã®ã§å‚照渡ã—
  
  myFunc(m.getMyInt());
  // m.myInt : 15
  // クラスã¯å‚ç…§åž‹ã§ã‚‚ã€ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°ã¯ãƒ—リミティブ型ãªã®ã§å€¤æ¸¡ã—
}
private static void myFunc(int prm)
{
  prm += 5;
}
private static void myFunc(MyClass prm)
{
  prm.setMyInt(prm.getMyInt() + 5);
}
myfunc(&$prm);
å‚照渡ã—
myfunc(&$prm);
function myfunc($prm) {
 ~
}
my $x = 5;
a(\$x);
print $x, "\n";
⇒ $x : 50;
sub a {
  my $ref = shift;
  $$ref *= 10;
}
値渡ã—
my $x = 5;
b($x);
print $x, "\n";
⇒ $x : 5;
sub b {
  my $val = shift;
  $val *= 10;
}
変数å
・予約語(ifã€classç‰)ã¯ä½¿ãˆãªã„。
・数å—ã‹ã‚‰åˆã‚ã¦ã¯ã„ã‘ãªã„。
・記å·ã¯ã€Œ_ã€ã€é€šè²¨è¨˜å·(「¥ã€,「$ã€,「£ã€,「€ã€ç‰)ã®ã¿