ForNext
Only Do What Only You Can Do
092. 構造体の受け渡し
VBScript
JScript
Perl
更新日 : 2010.10.18
sub hiroko { my ($std) = @_; $$std{"height"} = 180; $$std{"weight"} = 80; } %sanaka = (name => "Sanaka", height => 175); printf("氏名:%s\n", $sanaka{"name"}); printf("身長:%d\n", $sanaka{"height"}); printf("体重:%f\n", $sanaka{"weight"}); print "\n"; &hiroko(\%sanaka); printf("氏名:%s\n", $sanaka{"name"}); printf("身長:%d\n", $sanaka{"height"}); printf("体重:%f\n", $sanaka{"weight"});
L:\>perl lesson_12_092.pl 氏名:Sanaka 身長:175 体重:0.000000 氏名:Sanaka 身長:180 体重:80.000000
PHP
更新日 : 2010.11.03
<?php function hiroko(&$std) { $std["height"] = 180; $std["weight"] = 80; } $sanaka = array("name" => "Sanaka", "height" => 175); printf("氏名:%s\n", $sanaka["name"]); printf("身長:%d\n", $sanaka["height"]); printf("体重:%f\n", $sanaka["weight"]); print "\n"; hiroko($sanaka); printf("氏名:%s\n", $sanaka["name"]); printf("身長:%d\n", $sanaka["height"]); printf("体重:%f\n", $sanaka["weight"]); ?>
L:\>php lesson_12_092.php 氏名:Sanaka 身長:175 体重:0.000000 氏名:Sanaka 身長:180 体重:80.000000
Python
更新日 : 2010.11.17
# coding: Shift_JIS def hiroko(std): std["height"] = 180; std["weight"] = 80; sanaka = {"name":"Sanaka", "height":175} print "氏名:%s" % sanaka["name"] print "身長:%d" % sanaka["height"] print hiroko(sanaka) print "氏名:%s" % sanaka["name"] print "身長:%d" % sanaka["height"] print "体重:%f" % sanaka["weight"]
N:\>python lesson_12_092.py 氏名:Sanaka 身長:175 氏名:Sanaka 身長:180 体重:80.000000
Ruby
更新日 : 2010.11.01
def hiroko(std) std["height"] = 180 std["weight"] = 80 end sanaka = {"name" => "Sanaka", "height" => 175} printf("氏名:%s\n", sanaka["name"]) printf("身長:%d\n", sanaka["height"]) printf("体重:%f\n", sanaka["weight"].to_f) puts "" hiroko(sanaka) printf("氏名:%s\n", sanaka["name"]) printf("身長:%d\n", sanaka["height"]) printf("体重:%f\n", sanaka["weight"])
L:\>ruby l:\lesson_12_092.rb 氏名:Sanaka 身長:175 体重:0.000000 氏名:Sanaka 身長:180 体重:80.000000
PowerShell
Scala
F#
C
更新日 : 2010.10.08
#include <stdio.h> #include <string.h> struct gstudent { char name[20]; int height; float weight; }; void hiroko(struct gstudent* std) { (*std).height = 180; (*std).weight = 80; } int main(int argc, char* argv[]) { struct gstudent sanaka = {"Sanaka", 175}; printf("氏名:%s\n", sanaka.name); printf("身長:%d\n", sanaka.height); printf("体重:%f\n", sanaka.weight); puts(""); hiroko(&sanaka); printf("氏名:%s\n", sanaka.name); printf("身長:%d\n", sanaka.height); printf("体重:%f\n", sanaka.weight); return 0; }
R:\>lesson092\project1.exe 氏名:Sanaka 身長:175 体重:0.000000 氏名:Sanaka 身長:180 体重:80.000000
C++
C++Builder
VC++
C#
Java
更新日 : 2010.11.05
class Lesson092 { public static void main(String[] args) { CStudent sanaka = new CStudent("Sanaka", 175); System.out.printf("氏名:%s\n", sanaka.name); System.out.printf("身長:%d\n", sanaka.height); System.out.printf("体重:%f\n", sanaka.weight); System.out.println(""); hiroko(sanaka); System.out.printf("氏名:%s\n", sanaka.name); System.out.printf("身長:%d\n", sanaka.height); System.out.printf("体重:%f\n", sanaka.weight); } static void hiroko(CStudent std) { std.height = 180; std.weight = 80; } } class CStudent { public String name; public int height; public double weight; public CStudent(String name, int height, double weight) { this.name = name; this.height = height; this.weight = weight; } public CStudent(String name, int height) { this.name = name; this.height = height; } }
L:\>java Lesson092 氏名:Sanaka 身長:175 体重:0.000000 氏名:Sanaka 身長:180 体重:80.000000
Objective-C
D
VB
VB.NET
Delphi
更新日 : 2010.09.24
program Project1; {$APPTYPE CONSOLE} uses SysUtils; type TStudent = record name: String; height: Integer; weight: Real; end; procedure hiroko(var std:TStudent); begin std.height := 180; std.weight := 80; end; procedure main(); var sanaka: TStudent; begin sanaka.name := 'Sanaka'; sanaka.height := 175; Writeln(Format('氏名:%s', [sanaka.name])); Writeln(Format('身長:%d', [sanaka.height])); Writeln(Format('体重:%f', [sanaka.weight])); Writeln(''); hiroko(sanaka); Writeln(Format('氏名:%s', [sanaka.name])); Writeln(Format('身長:%d', [sanaka.height])); Writeln(Format('体重:%f', [sanaka.weight])); end; begin main; end.
S:\>lesson092\project1.exe 氏名:Sanaka 身長:175 体重:0.00 氏名:Sanaka 身長:180 体重:80.00