标签: variable-declaration

VB6中变量声明中的星号

在变量声明之后,星号(*)和数字的含义是什么?如图所示WpName As String * 6

Public Type WayPoint

   WpIndex As Integer
   WpName As String * 6
   WpLat As Double
   WpLon As Double
   WpLatDir As String * 1
   WpLonDir As String * 1

End Type
Run Code Online (Sandbox Code Playgroud)

vb6 variable-declaration

5
推荐指数
1
解决办法
1495
查看次数

变量定义为`Class <SomeProtocol> myClass`是什么意思?

我习惯于看到类似的东西,id<NSCopying> myVar或者MyObject<NSCopying> myVar我们在说明有问题的变量可以很高兴地拥有NSCopying调用它的方法,而编译器不会摇摆不定.

但是我最近发现了一些定义了这样一个变量的代码:

Class<NSCopying> myClass;
Run Code Online (Sandbox Code Playgroud)

我想知道这实际意味着什么,因为它似乎与前两个例子略有不同.似乎我们说变量myClass可以愉快地接受来自的方法调用NSCopying- 但是具有能够接受这些实例变量方法的类类型似乎没有多大意义.

在我看来,类型的变量在技术上是对象本身,这可能让我或编译器(可能是我!)感到困惑.

所以我猜我在问:

  1. Class<NSCopying> myClass;实际上是什么意思
  2. 怎么会Class<NSCopying> myClass;有所不同id<NSCopying> myVar
  3. 哪里可以Class<NSCopying> myClass;有意义地使用?

笔记:

  • 我只是用它NSCopying作为一个例子,并不是我用例的组成部分
  • 无论我指的是什么,Class我指的是Class用于声明类型变量的Obj-C关键字Class.我不是将它用作任何类类型的通用术语.

class objective-c variable-declaration objective-c-protocol

5
推荐指数
1
解决办法
240
查看次数

检查变量是否已在 PHP 中初始化

我一直在实现 wordpress 插件,但我遇到了一个问题,即发现变量是否已声明。

假设我有一个名为“Hello”的模型。该模型有 2 个变量,分别是“hello_id”和“hello_name”。现在让我们假设在数据库上我们有名为 'hello' 的表,其中 3 列分别为 'hello_id'、'hello_name' 和 'hello_status'。现在我想检查变量是否已声明,如果是,则设置值。

代码

class Hello extends MasterModel{
    public $hello_id;
    public $hello_name;
    function __construct($hello_id = null)
    {
        if ($hello_id != null){
            $this->hello_id = $hello_id;
            $result = $wpdb->get_row(
                "SELECT * FROM hello WHERE hello_id = $hello_id"
            , ARRAY_A);
            $this->setModelData($data);
       } 
    }
}
abstract class MasterModel {
    protected function setModelData($data)
    {
        foreach($data as $key=>$value){
            if(isset($this->{$key})){ // need to check if such class variable declared
                $this->{$key} = $value;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我这样做的主要原因是让我的代码在未来可扩展。例如,我可能不会使用数据库中的某些字段,但将来我可能需要它们。 …

php variable-declaration

5
推荐指数
1
解决办法
8783
查看次数

TSQL中带或不带"AS"关键字的参数

我对TSQL有点新手(主要是MySQL体验).我遇到了一些参数声明,我不确定在存储过程中使用与没有'as'关键字的情况下声明的差异是什么(如果有的话):

CREATE PROCEDURE [dbo].[SomeStoredProc]
    @variable1 varchar(50),
    @variable2 as varchar(50)
...
Run Code Online (Sandbox Code Playgroud)

t-sql parameters variable-declaration

5
推荐指数
1
解决办法
39
查看次数

如何在 Go 中为循环变量声明变量类型?

请参阅此代码。

package main

import (
    "fmt"
)

func main() {
    var arr [4]string = [4]string{"foo", "bar", "baz", "qux"}

    for a, b := range arr {
        fmt.Println(a, b)
    }

    // How can I fix this code?
    /*
    for x int, y string = range arr {
        fmt.Println(a, b)
    }
    */
}
Run Code Online (Sandbox Code Playgroud)

第一个 for 循环使用:=运算符自动推导出aand的类型b。但是如果我想明确指定循环变量的类型呢?我尝试这样做是在注释代码的第二个块中,这当然因以下错误而失败。

# command-line-arguments
./foo.go:15: syntax error: unexpected name, expecting {
./foo.go:18: syntax error: unexpected }
Run Code Online (Sandbox Code Playgroud)

你能不能帮我解决的第二个代码块,这样我可以指定类型的x和y明确?

for-loop go variable-declaration

5
推荐指数
1
解决办法
2259
查看次数

switch变量声明如何作用域?

如何可能?

switch (param.ParameterType)
{
    case Type x when x == typeof(byte):
        int invalid;
        break;
    case Type x when x == typeof(short):
        int invalid;
        break;
    case Type x when x == typeof(int):
        break;
    case Type x when x == typeof(long):
        break;
}
Run Code Online (Sandbox Code Playgroud)

问题是,如何x在每个案例范围内没有任何可见的块.同时,变量invalid不能在不同的开关情况下声明.它必须在一个街区内.

如果没有阻塞那么接下来的变量范围是不可能的.

{
    // case byte:
    Type x;
    int invalid;
    // break;

     // case short:
    Type x; // x can not be declared twice.
    int invalid;
}
Run Code Online (Sandbox Code Playgroud)

如果每种情况都有隐形块,则必须遵循以下规则(但不是).

{
    {   // block for each case. …
Run Code Online (Sandbox Code Playgroud)

c# scope switch-statement variable-declaration c#-7.0

5
推荐指数
1
解决办法
133
查看次数

在 beforeEach 中声明变量

我得到

参考错误:initialState 未定义

当我将 initialState 声明为 const in 时beforeEach(()=> {...。那不应该工作吗?

describe('register reducer', () => {
        beforeEach(() => {
            const initialState = UsersService.getInitialUsersState();
        })

        it('should return the initial state', () => {
            expect(usersReducer(undefined, [])).toEqual(initialState);
        });

        it('Toggle isBaby or sitter', () => {
            deepFreeze(initialState);
            let newState = initialState;
            newState.isBaby = true;

            expect(
                usersReducer(initialState, {
                    type: types.UsersActions.SET_TYPE,
                    payload: true
                })).toEqual(newState);
        });
Run Code Online (Sandbox Code Playgroud)

unit-testing constants variable-declaration angular

5
推荐指数
2
解决办法
5715
查看次数

在第一行代码中声明所有 javascript 变量的标准?

我们正在与一家新公司合作,他们有一个编码标准,他们在方法的第一行立即声明方法中使用的所有 Javascript 变量。

我问他们这样做是否有原因,并只是被告知这是他们的编码标准,所以我用谷歌搜索,显然这确实是一些网站推荐的标准。

我的第一个想法是,如果一个方法太大,以至于您实际上发现将所有变量放在顶部很有帮助,那么您的方法太大并且需要分解。

所以我的问题是,在顶部声明变量而不是在第一次使用变量时声明它们的目的是什么?它只是一个编码标准,旨在帮助那些编写(在我个人看来)我认为太长的方法的人,还是还有其他我忽略的好处?

javascript variable-declaration

5
推荐指数
1
解决办法
1116
查看次数

声明者和直接声明者有什么区别?

在作者 Brian W. Kernighan 和 Dennis M. Ritchie 的《C 编程语言》第二版中,他们讨论了声明符和直接声明符。讨论从本书的第 14 页开始。122 与dcl和direct-dcl的 您能以易于理解的方式解释声明符和直接声明符之间的区别吗?是什么让它变得直接?

另外,在第 225

其中直接声明符是标识符或带括号的标识符。特别是,它不能通过 typedef 实现函数类型。

在我看来,声明符是变量或函数的声明。在“TD”中,T部分指定其说明符和类型,D部分指定标识,表示变量或函数的唯一标识名称。这和语言的语法有一定的关系。

声明符是否是间接的,因为它们没有像direct-declarator中那样指定为直接的?

c syntax programming-languages declaration variable-declaration

5
推荐指数
1
解决办法
285
查看次数

使用赋值左侧的展开运算符来解构数组,以收集单个变量中的所有剩余元素

我想在 php 中执行解构,就像下面的 javascript 代码一样:

[a, b, ...rest] = [10, 20, 30, 40, 50];
console.log(a,b,rest);
Run Code Online (Sandbox Code Playgroud)

输出:

10 20 [ 30, 40, 50 ]
Run Code Online (Sandbox Code Playgroud)

我如何在 php 中执行该操作?

我的 PHP 代码是:

<?php
$array = [10, 20, 30, 40, 50]; 

// Using the list syntax:
//list($a, $b, $c[]) = $array;

// Or the shorthand syntax:
[$a, $b, $c[]] = $array;

echo "$a<br>$b<br>";
print_r ($c);
?>
Run Code Online (Sandbox Code Playgroud)

哪个打印:

10
20
Array ( [0] => 30 )
Run Code Online (Sandbox Code Playgroud)

但我想要 $c 中的“[ 30, 40, 50 ]”

php arrays destructuring variable-declaration spread-syntax

5
推荐指数
1
解决办法
992
查看次数