小编kra*_*nko的帖子

为什么要避免while循环?

作为一门入门语言,我在Python学习中大约有两周的时间.我在Zed的"艰难学习Python"中提到了一点,他建议:

使用while循环只能永远循环,这意味着可能永远不会.这仅适用于Python,其他语言则不同.

我已经用Google搜索了所有内容,引用了我能做的一切,但我在世界上找不到任何理由为什么这会成为Python中的惯例.是什么让它与众不同?

当我在10年前放弃编程时,我在VB工作,并经常被告知摆脱我的For循环并使用While循环.我是一个黑客(就像我今天,虽然我当时写了很多代码),所以我只是做了我被告知的事情,而不是质疑它.好吧,现在我在质疑它.这是速度问题吗?是否只是为了避免逃避无限?

python

26
推荐指数
4
解决办法
6908
查看次数

RPG(或其他ILE语言)中的自动测试

我们这里有很多RPG程序,我们做了很多自动化测试,但是我们还没有很好地结合这两个.是否有很好的方法可以对RPG程序进行自动化测试 - 或者就任何其他ILE程序进行自动化测试?

我知道一个名为RPGUnit的项目,但这是它在2007年的最后一次更新.但是,它似乎仍在使用,因为RPG Next Gen目前正在进行一些包括它的工作.

你对这些经历有什么看法?还有别的东西,我缺少了,像谷歌找不到一些很棒的软件工具?

我对单元测试以及完整项目的集成测试很感兴趣.任何与jenkins等工具集成的东西都是受欢迎的.如果它涉及IBM的Rational Developer或System i Navigator,那也没关系.

我们正处于为RPG开发过程创建新测试计划的早期阶段,我不希望它从一开始就走向错误的方向.

integration-testing automated-tests unit-testing rpgle ibm-midrange

7
推荐指数
2
解决办法
3092
查看次数

在ILE RPG中检查sql发现条件的正确方法是什么?

在RPG中使用嵌入式SQL时,通常会使用游标和dow-loop来处理结果中的所有行.循环中的条件以某种方式依赖于SQLCOD和/或SQLSTTSQLRPGLE程序中的一些全局可用变量?

但检查这些值的正确方法是什么?有人建议SQLCOD = 0别人not (SQLCOD = +100 or SQLSTT = '02000').一个失败的所有警告,另一个没有失败的一些错误,所以我不满足.

为了说明我对一些代码的处理:

Pmain             B
D                 PI
Dmy_ds          E DS                  extname(SOME_TABLE)
D                                     qualified
 /free
  exec sql
    DECLARE cur CURSOR FOR
      SELECT *
      FROM some_table;
  exec sql 
    OPEN cur;
  exec sql
    FETCH cur
     INTO :my_ds;
  dow sql_found();
      exec sql
        FETCH cur
         INTO :my_ds;
  enddo;
  exec sql
    CLOSE cur;
 /end-free
Pmain             E


Psql_found        B
D                 PI              N
 /free
  // insert return statement here... …
Run Code Online (Sandbox Code Playgroud)

rpgle embedded-sql db2-400

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

如何在PostgreSQL 9.1中使用pgFouine?

使用pgFouine 1.2,PostgreSQL 9.1.3.

postgresql.conf设置:

log_min_duration_statement = 0
log_duration = on
log_line_prefix = '%t [%p]: [%l-1] '
log_statement = 'all'
lc_messages = 'C'           # locale for system error message strings
lc_monetary = 'C'           # locale for monetary formatting
lc_numeric = 'C'            # locale for number formatting
lc_time = 'C'               # locale for time formatting
Run Code Online (Sandbox Code Playgroud)

运行pgFouine时出错:

C:\Users\Razvan\Desktop\pgfouine-1.2>php pgfouine.php -file log > report.html

pgFouine did not find any valid PostgreSQL log line in your log file:
* check that PostgreSQL uses an english …
Run Code Online (Sandbox Code Playgroud)

php postgresql profiling pgfouine

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

PyCharm PEP8保存

所以我用谷歌搜索,我已经搜索过,我已经尝试过...

如何获得PyCharm作为保存动作执行PEP8自动格式化的功能?

我发现我可以做Ctrl+ Alt+ L做自动格式化。我习惯了在Eclipse上执行保存操作,所以我想在PyCharm中使用它。在GoGland上很容易做到,那么为什么不在PyCharm中呢?

我迷路了,请帮助...

pep8 pycharm

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

udev 规则使用链接名称中的 ATTRS{serial} 为 USB 设备生成符号链接

我有一个 udev 规则,可以/dev根据 USB 设备的序列号为它们生成符号链接(我有多个其他方面相同的设备,但需要可重现的设备端点)。

目前我需要为每个新序列号添加一条规则,如下所示:

SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{serial}=="S101", SYMLINK+="ttyS101"
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{serial}=="S102", SYMLINK+="ttyS102"
...
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种使用单个规则来执行此操作的方法,所有可动态访问的都是%k%n%c,但我发现无法访问任何其他值。使用PROGRAM=""可能是一种方法,但我如何从那里访问 ATTRS?

我试过这个:

SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{serial}=="S101", PROGRAM="/bin/sh -c 'udevadm info /dev/%k | grep ID_SERIAL_SHORT= | cut -d= -f 2'" SYMLINK+="tty%c"
Run Code Online (Sandbox Code Playgroud)

但它看起来/dev/%k在程序运行时不可用,所以这也不起作用。

有什么办法可以用于ATTRS{serial}我的SYMLINK+=""吗?

linux usb udev

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

forEach不会改变我传入的数组

我已经创建了一个简单的forEach函数,我试图理解为什么,当我运行它时myArray,即使我运行它也不会改变数组element*2.

function forEach(array, callback) {
  for (var i = 0; i < array.length; i++) {
    callback(array[i],i,array)
  };
}

var myArray = [1,2,3]
forEach(myArray,function(element){element*2})
console.log(myArray)///[1,2,3]
Run Code Online (Sandbox Code Playgroud)

javascript

4
推荐指数
2
解决办法
803
查看次数

如何从RPG程序创建新的文件成员?

我需要为我的RPG程序中的现有物理文件创建一个新成员。我知道两种方式,我必须说,我都不喜欢:

  1. 用于QCMDEXC拨打电话ADDPFM
  2. 编写一个CL程序,该程序ADDPFM从RPG 调用并调用

第一个涉及将必须解析的命令组合在一起,QCMDEXC这对执行者来说听起来并不合理(我知道,这里的扩展部分不是调用,而是成员的创建)-但是真正困扰我的是它不是我觉得很简单,但是相反,它很难遵循并且不是很美观。

第二个程序使用编译的程序,因此不涉及任何摘要和解析。同样,它在您的RPG代码中看起来并不可怕,因为它只是一个正常的过程调用。但是我必须创建一个额外的外部程序,该程序必须转移到将使用我的RPG程序的所有系统上。这也与我的审美意识产生了冲突,创建了一个额外的源代码和二进制文件,仅用于一个API调用。

有没有一种方法可以直接调用api,而无需调用QCMDEXC?或者是创建PF新成员的另一种RPGish方法?Google根本对我没有帮助。

谢谢

api rpgle ibm-midrange

3
推荐指数
1
解决办法
2680
查看次数

如何从ILE程序中读取liblist?(最好是RPG或CL)

我们通过使用不同的liblists运行它们来控制as400上的程序所使用的对象.但是有些操作不能由此直接控制.因此,我的程序需要阅读liblist并决定其中的一些库,如何操作.

我找不到任何api来从程序中读取liblist条目.我期望的是,某种api允许我按优先级迭代liblist条目,或者按照liblist给出的顺序给我一个数组.如果可能的话,我更喜欢RPG或CL,但也可以使用其他ILE语言.

(如果你想知道,为什么我要这样做,我问另一个问题,解释我面临的封闭问题:如何在两个不同的库中创建一个DTAQ,由作业liblist控制? 但是liblist解析是解决这个问题的一种方法,也是一个单独的问题).

environment rpgle ibm-midrange

3
推荐指数
1
解决办法
1670
查看次数

在C编程中将文本文件中的部分行提取到新文件中

我试图从文本文件中提取一行的部分,并在UNIX平台下的C编程中将其输出到一个新文件中.例如,我有file1.txt如下:

设备:ABCDE1

日期:12/12/12

运营商= John Doe

我希望它在file2.txt中显示为:

ABCDE1,12/12/12,John Doe.

这是我到目前为止的代码,我得到了开头并写入文件部分,但是无法弄清楚如何在"Device:"之后提取信息,而不显示"Divice:"它自己.我的代码只复制file1的第一行,并将其放在文件2中:


#include "stdio.h"
main()
{
    FILE *fs, *ft;
    char ch ;
char file[100]="" ;
char Device [100];
char Date [80];

printf ("Enter file name and directory:");
scanf ("%s",&file);

    fs = fopen (file, "r") ;
    if ( fs == NULL )
    {
           puts ( "Cannot open source file" ) ;
           exit( ) ;
    }

    ft = fopen ( "file2.txt", "w" ) ;
    if ( ft == NULL )
    {
           puts ( "Cannot …
Run Code Online (Sandbox Code Playgroud)

c unix text line

3
推荐指数
1
解决办法
1852
查看次数