在Drupal模块回调函数中,有一个简单的自定义函数可以进入数组.
当我在Drupal模块回调函数中定义输入数组时,自定义函数正确执行.但是,当我在根级别(全局)定义输入数组时,Drupal模块回调函数中的自定义函数将失败.
作为测试,我使自定义函数只是将输入数组的内容输出为字符串.第一种方法正确输出,而第二种方法没有任何输出.理想情况下,我想在全局级别定义数组,以便其他函数可以使用它.
思考?
<?php
// ** Placement of array for method 2
$mapping = array(
0 => "name",
1 => "match"
);
function mymodule_menu() {
$items = array();
$items['mymodule'] = array(
'title' => 'MyModule',
'page callback' => 'myModule_main',
'access callback' => TRUE,
'type' => MENU_NORMAL_ITEM
);
return $items;
}
function myModule_main() {
// ** Placement of array for method 1
$mapping = array(
0 => "name",
1 => "match"
);
$output = myFunction($mapping);
echo $output; // ** Returned to …Run Code Online (Sandbox Code Playgroud) 默认情况下,全局变量初始化为"0".
当我明确地为其赋值"0"时,它会产生多大的差异(如果有的话).
他们中的任何一个是更快/更好/更优化?
我尝试了一个小样本.c程序,但我没有看到可执行文件大小的任何变化.
编辑:0我只想了解行为.它在任何方面都不是我的瓶颈.
我想知道在使用严格的pragma时是否可以使用一些全局变量.
例如,我试过这样做:
#!/usr/bin/perl -w
use strict;
sub print_global{
print "your global is: $global\n";
}
$global = 1234; #or even my $global = 1234;
print_global;
Run Code Online (Sandbox Code Playgroud)
但是你可以注意到它不起作用.
使用严格的pragma时,有没有办法定义全局变量?(如果有的话,当然)
在 c 中,在我看来,在函数之外编写的所有内容都已经是“extern”了。那么,究竟何时必须将变量指定为 extern?
它与定义与声明有关吗?
此外,是否需要使用 extern 声明变量才能访问已在另一个文件中定义的变量?
我用以下输出编写了这个C程序
#include<stdio.h>
#include<string.h>
int counter; // global for counting input tokens
char * CreateTemp()
{
int counter; // for counting temporaries
char s[10];
sprintf(s,"T%d",counter++);
return(strdup(s));
}
main()
{
char *s1;
char *s2;
char *s3;
s1=CreateTemp();
s2=CreateTemp();
printf("Temp is %s\n",s1);
printf("Temp is %s\n",s2);
s3=CreateTemp();
printf("Temp is %s\n",s3);
}
Run Code Online (Sandbox Code Playgroud)
输出:
Temp is T0 //Temp is T0
Temp is T1 //Temp is T1
Temp is T32600 //Temp is T2
Run Code Online (Sandbox Code Playgroud)
我不知道为什么我得到T2这样的输出?是什么原因?
当我删除:
柜台; //用于计算临时工
...我有:
Temp is T0
Temp is T1
Temp is T2 …Run Code Online (Sandbox Code Playgroud) 晚上好,
我有一个问题,我想一次将“ finViewById”声明为全局。但是它只能用作本地文件,因此我必须复制并粘贴它们,这很糟糕。
公共类MainActivity扩展了AppCompatActivity {
//(I WANT HERE)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
//(IT ONLY works HERE)
Button mygtukas = (Button) findViewById(R.id.pgrButton);
mygtukas.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
TextView laukelis = (TextView) findViewById(R.id.pgrTekst);
laukelis.setText("Bamm, trumpas");
}
}
);
mygtukas.setOnLongClickListener(
new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
//(I DON'T WANT THIS COPY as well)
TextView laukelis =(TextView)findViewById(R.id.pgrTekst);
laukelis.setText("Bamm, ilgas");
return true;
}
}
);
}
Run Code Online (Sandbox Code Playgroud) #include <iostream>
using namespace std;
void lemo(){
int shamble;
}
int main(){
lemo();
shamble= 2;
cout<<shamble;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我想要的只是从其他函数调用变量。执行后控制台会说:
'shamble' was not declared in this scope
对于这个问题我能做什么呢?
在其他文件和函数中使用变量和对象列表。
好的,所以我有以下变量:
public static int cookieCount = 0;
public static int cursorCount = 0;
public static int granCount = 0;
public static int farmCount = 0;
public static int mineCount = 0;
public static int shipCount = 0;
public static int alcCount = 0;
public static int portalCount = 0;
public static int timeCount = 0;
public static int clickGain = 1;
public static int cursorGain = 1;
public static int granGain = 5;
public static int farmGain = 10;
public …Run Code Online (Sandbox Code Playgroud) 如果我现在以我宣布全局变量的方式做正确的事情,我感到很困惑......
我这样做了:
class Addition:
global a,b
a,b=1,3
def __init__(self):
pass
def add(self):
return a+b
Run Code Online (Sandbox Code Playgroud)
这是声明我的全局变量的正确方法吗?或者我应该将它们放在init()构造中?像这样?
class Addition:
def __init__(self):
self.a=1
self.b=2
def add(self):
return self.a + self.b
Run Code Online (Sandbox Code Playgroud)
我应该使用哪个?还是有更好的方式来声明全局变量而不是这两个?我想让我的程序具有可读性,因为它可以让其他人轻松理解和实践.
global-variables ×10
c ×3
variables ×2
android ×1
c# ×1
c++ ×1
drupal-6 ×1
extern ×1
findviewbyid ×1
function ×1
local ×1
optimization ×1
perl ×1
php ×1
python ×1
strict ×1
terminology ×1