Address field of android browser doesn’t change after location.href=’~’->$(”).submit();

Standard

I think this problem is due to the execution timing of the Android browser.
If you change “$(document).ready()” to “$(window).load()”, you can delay the execution timing.

…probably…

$(document).ready(function(){
    :
});

$(window).load(function(){
    :
});

Class Diagram of UML

Standard

I often forget the definition of Object Relationships …

Relationship Diagram Note
関連 (association) <──────
集約 (aggregation) ◇────── has a
コンポジション (composition) ◆──────
依存 (dependency) <- – – – – –
汎化 (generalization) ◁────── 継承(extends , is a)
実現 (realization) ◁- – – – – – interface

caller(0) function shows self-method infomation in perl

Standard

http://perldoc.perl.org/functions/caller.html

caller() usually shows caller’s package name , filename, line , function etc.

If you specify the argument “0” , caller(0) function shows self-method infomation.

#!/usr/local/bin/perl
use strict;
use warnings;
use Data::Dumper;

main();

sub main {
    dummy_func1('ABCDE');
}

sub dummy_func1 {
    my @args = @_;
    print join(' , ', caller(0) ),"n";
}

1;

The following is the result of executing script.

$ ./foo.pl 
Use of uninitialized value in join or string at ./foo.pl line 15.
Use of uninitialized value in join or string at ./foo.pl line 15.
Use of uninitialized value in join or string at ./foo.pl line 15.
Use of uninitialized value in join or string at ./foo.pl line 15.
main , ./foo.pl , 9 , main::dummy_func1 , 1 ,  ,  ,  , 1762 , UUUUUUUUUUUUUU ,

dynamic call function / method in javascript

Standard

This is a javascript version of the previous perl entry.

dynamic call function / method in perl

If you describe「new Function(…)」, you can use dynamic call function / method in javascript.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js">
</script>
<script>
 function call_func(){

   #### DYNAMIC CALL FUNCTION - no paramater
   var func_name = 'dynamic_call_func_1';
   var func_obj = new Function("return "+func_name +"()");
   func_obj();

   #### DYNAMIC CALL FUNCTION - has paramater
   func_name = 'dynamic_call_func_2';
   func_obj = new Function('arg_val', "return "+func_name +"(arg_val)");
   func_obj('ABCDE');

   #### DYNAMIC CALL METHOD
   var dynamic_obj = new DynamicCallClass();
   func_name = 'dynamic_call_method_1';
   func_obj =
      new Function('obj','arg_val',"return obj."+func_name +"(arg_val)");
   func_obj(dynamic_obj,'ABCDE');

   #### DYNAMIC CALL METHOD - (GoF - COMMAND PATTERN)
   var class_name = 'DynamicCallClass';
   var func_obj = new Function("return new "+class_name+"()");
   var cmd_obj = func_obj();
   cmd_obj.dynamic_call_method_1('ABCDE');
 }

 function dynamic_call_func_1(){
   alert('12345');
 }

 function dynamic_call_func_2(arg_val){
   alert( arg_val );
 }

 var DynamicCallClass = function() {};
 DynamicCallClass.prototype = {
   dynamic_call_method_1: function(arg_val){
     alert(arg_val);
   },
 }

</script>

</head>
<body>
  <button type="button"
      onClick="call_func()">
    CALL FUNCTION
  </button>
</body>
</html>

dynamic call function / method in perl

Standard

When you call dynamic function call (like $function()), you need 「no strict “refs”」.

When you call dynamic method call (like $object->$method()) , you can use string as method.
Besides you can use COMMAND PATTERN of GoF.

Details are as follows …

#!/usr/local/bin/perl
use strict;
use warnings;
use Data::Dumper;

main();

sub main {

    #### DYNAMIC CALL FUNCTION
    my $func_name = "dynamic_call_function";
    {
        no strict "refs";
        &{$func_name}('ABCDE');
    }

    #### DYNAMIC CALL METHOD
    my $dynamic_class = DynamicCallClass->new();
    my $method_name = "dynamic_call_method";
    $dynamic_class->$method_name('ABCDE');


    #### DYNAMIC CALL METHOD (GoF - COMMAND PATTERN)
    my $dynamic_class_name = 'DynamicCallClass';
    $dynamic_class = $dynamic_class_name->new();
    $dynamic_class->dynamic_call_method('ABCDE');
}

sub dynamic_call_function {
    my ($arg_val) = @_;
    my $func_name = (caller(0))[3];
    print "$func_name was called ... arg_val=$arg_valn";
}

1;


package DynamicCallClass;

sub new {
    my ($class) = @_;
    my $self = {};
    $self =  bless $self, $class;
    return $self;
}

sub dynamic_call_method {
    my ($self,$arg_val) = @_;

    my $method_name = (caller(0))[3];
    print "$method_name was called ... arg_val=$arg_valn";
}

1;