标签: procedure

"功能"和"程序"有什么区别?

一般来说,我们都听说过编程语言中的函数过程.但是,我发现我几乎可以互换地使用这些术语(这可能是非常错误的).

所以,我的问题是:

它们的功能,用途和用途有何不同?

一个例子将不胜感激.

terminology procedure function

187
推荐指数
8
解决办法
31万
查看次数

有没有关于开发C#编码标准/最佳实践文档的建议?

我是最近的AI毕业生(大约2年),从事适度的操作.它已经落到我身上(主要是因为我是该部门的第一个"采用者")来创建一个基本的(阅读有用的?)C#编码标准文档.

我想我应该解释一下,我可能是最初级的软件工程师,但我期待着这项任务,希望我实际上可以生产出一半可用的东西.我已经对互联网进行了大量的搜索,并阅读了有关编码标准文档应该/不应该包含的内容的文章.这似乎是一个很好的地方,可以提出一些建议.

我意识到,我可能会打开一扇门,通往一个关于"最好的做事方式"的分歧.我既理解又尊重不可否认的事实,即每个程序员都有一个解决每个任务的首选方法,因此我不打算写任何如此严厉的禁止,以至于扼杀个人风格,而是试图获得一般方法并达成一致标准(例如命名约定),以帮助使个人代码更具可读性.

所以这里......任何建议?有没有?

c# standards procedure

159
推荐指数
9
解决办法
7万
查看次数

如何使Clojure函数采用可变数量的参数?

我正在学习Clojure,我正在尝试定义一个函数,该函数接受可变数量的参数(一个可变函数)并将它们相加(是的,就像+过程一样).但是,我不知道如何实现这样的功能

我能做的一切是:

(defn sum [n1, n2] (+ n1 n2))

当然,此功能仅需要两个参数和两个参数.请教我如何接受(和处理)未定义数量的参数.

lisp procedure function clojure

77
推荐指数
4
解决办法
4万
查看次数

如何从命令行调用带有参数的mysql存储过程?

如何从命令行调用存储过程?

我有一个程序:

CREATE DEFINER=`root`@`localhost` PROCEDURE `insertEvent`(IN `dateTimeIN` DATETIME)
    NO SQL
BEGIN
    SET @eventIDOut = NULL;

    IF  EXISTS(SELECT * FROM `events` WHERE `eventDate` = dateTimeIN) THEN
        SELECT `eID` INTO @eventIDOut FROM `events` WHERE `eventDate` = dateTimeIN LIMIT 1;
        ELSE
        INSERT INTO `events` (`eventDate`) VALUES(dateTimeIN);
        SET @eventIDOut = last_insert_id();
    END IF;

    SELECT CONCAT(@eventIDOut);
END
Run Code Online (Sandbox Code Playgroud)
  1. 我试过这个: mysql> CALL insertEvent(2012.01.01 12:12:12);

    结果:

    错误1064(42000):您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在第1行的".01 12:12:12"附近使用正确的语法

  2. 还有这个: mysql> CALL insertEvent

    -> 2012.01.01 12:12:12;

    结果:

    错误1064(42000):您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第2行的"2012.01.01 12:12:12"附近使用正确的语法

mysql command-line procedure call

35
推荐指数
1
解决办法
18万
查看次数

使用参数在mySql中创建过程

我正在尝试使用mySQL创建存储过程.此过程将验证用户名和密码.我目前正在运行mySQL 5.0.32,所以应该可以创建程序.

这是我用过的代码.我得到的只是一个SQL语法错误.

   GO
    CREATE PROCEDURE checkUser
    (IN @brugernavn varchar(64)),IN @password varchar(64))
    BEGIN
    SELECT COUNT(*)  FROM bruger WHERE bruger.brugernavn=@brugernavn AND bruger.pass=@Password;
    END;
Run Code Online (Sandbox Code Playgroud)

先感谢您

mysql parameters procedure

32
推荐指数
3
解决办法
11万
查看次数

如何在Delphi中获取当前过程/函数的名称(作为字符串)

是否可以在过程/函数中获取当前过程/函数的名称作为字符串?我想在编译时会有一些"宏"扩展.

我的情况是这样的:我有很多程序被给予记录,他们都需要从检查记录的有效性开始,因此他们将记录传递给"验证程序".如果记录无效,验证程序(所有程序都是同一个程序)会引发异常,并且我希望异常的消息不包括验证程序的名称,而是包含调用验证程序的函数/过程的名称程序(自然地).

就是,我有

procedure ValidateStruct(const Struct: TMyStruct; const Sender: string);
begin
 if <StructIsInvalid> then
    raise Exception.Create(Sender + ': Structure is invalid.');
end;
Run Code Online (Sandbox Code Playgroud)

然后

procedure SomeProc1(const Struct: TMyStruct);
begin
  ValidateStruct(Struct, 'SomeProc1');
  ...
end;

...

procedure SomeProcN(const Struct: TMyStruct);
begin
  ValidateStruct(Struct, 'SomeProcN');
  ...
end;
Run Code Online (Sandbox Code Playgroud)

如果我可以写出类似的内容,那么它会更容易出错

procedure SomeProc1(const Struct: TMyStruct);
begin
  ValidateStruct(Struct, {$PROCNAME});
  ...
end;

...

procedure SomeProcN(const Struct: TMyStruct);
begin
  ValidateStruct(Struct, {$PROCNAME});
  ...
end;
Run Code Online (Sandbox Code Playgroud)

然后每次编译器遇到{$ PROCNAME}时,它只是将当前函数/过程的名称替换为"宏"作为字符串文字.

更新

第一种方法的问题在于它容易出错.例如,由于复制粘贴,你很容易弄错:

  procedure SomeProc3(const Struct: TMyStruct);
  begin
    ValidateStruct(Struct, 'SomeProc1');
    ...
  end;
Run Code Online (Sandbox Code Playgroud)

或错别字:

procedure SomeProc3(const Struct: TMyStruct); …
Run Code Online (Sandbox Code Playgroud)

delphi procedure compile-time

25
推荐指数
2
解决办法
2万
查看次数

MySQL - 在select中定义一个变量并在同一个select中使用它

有没有可能做这样的事情?

SELECT 
    @z:=SUM(item),
    2*@z
FROM
    TableA;
Run Code Online (Sandbox Code Playgroud)

对于第二列,我总是得到NULL.奇怪的是,在做某事的同时

SELECT 
    @z:=someProcedure(item),
    2*@z
FROM
    TableA;
Run Code Online (Sandbox Code Playgroud)

一切都按预期工作.为什么?

mysql variables select procedure mysql-variables

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

获取Oracle PL/SQL中调用过程或函数的名称

有谁知道PL/SQL过程(在这种情况下是一个错误记录过程)是否可以获得调用它的函数/过程的名称?

显然,我可以将名称作为参数传递,但是进行系统调用或获取信息是很好的 - 如果没有从过程/函数调用它,它可能只返回null或其他东西.

如果没有方法可以做到这一点很好 - 只要有可能就好奇(搜索没有产生任何结果).

oracle plsql procedure function

19
推荐指数
2
解决办法
3万
查看次数

PL/SQL为select中的每个结果插入1行

我正在编写一个PL/SQL过程,它根据输入变量执行选择,然后在select中为每个结果插入一行.由于我对PL/SQL的新意,我无法调试查询错误.我知道这一定很容易,但出于某种原因我被困在这里.谢谢你的帮助!

CREATE OR REPLACE PROCEDURE setup_name_map(ranking_id IN NUMBER, class_string IN VARCHAR2) 
IS
BEGIN

    FOR rec IN (SELECT NAME_ID FROM PRODUCT_NAMES WHERE NAME = class_string)
    LOOP
        EXECUTE IMMEDIATE 'INSERT INTO NAME_RANKING (NAME_ID, RANKING_ID) VALUES (' || rec.NAME_ID || ', ' || ranking_id || ')';
    END LOOP;
END;
Run Code Online (Sandbox Code Playgroud)

根据Oracle Developer Compiler ...'NAME_ID'是无效的标识符.我试过把它放在引号中,但没有骰子.它还抱怨循环索引变量'REC'的使用无效.任何帮助深表感谢.

plsql for-loop procedure insert

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

MIPS中的功能(程序)

我是MIPS语言的新手,我不明白MIPS汇编语言中的函数(过程)是如何工作的.这是但我会指出我的问题:

  1. 什么:

    • jal
    • jr
    • $ra

    意思是mips语言和重要的事情

  2. 当我们想要创建一个函数或(过程)时,我们如何使用它们?

procedure function mips

16
推荐指数
2
解决办法
6万
查看次数