标签: proc

我可以对传递给方法的块强制执行arity吗?

有没有办法"打开"使用Proc.new或实例化的Proc的严格的arity强制执行Kernel.proc,以便它的行为类似于Proc实例化的lambda

My initialize method takes a block &action and assigns it to an instance variable. I want action to strictly enforce arity, so when I apply arguments to it later on, it raises an ArgumentError that I can rescue and raise a more meaningful exception. Basically:

class Command
  attr_reader :name, :action

  def initialize(name, &action)
    @name   = name
    @action = action
  end

  def perform(*args)
    begin
      action.call(*args)
    rescue ArgumentError
      raise(WrongArity.new(args.size))
    end
  end
end

class WrongArity < …
Run Code Online (Sandbox Code Playgroud)

ruby lambda proc

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

使用/ proc/[pid]/pagemap

我知道这里有关于页面映射文件的一些信息.但似乎没有人指出如何引用文件中的条目.它是否被虚拟地址抵消?我可以使用虚拟地址VA并简单地lseek来抵消VA吗?还是按页面?如果是这样,我如何检索页码,因为地图只是按顺序列出它们.我试图在虚拟和物理地址之间进行转换,并且使用虚拟地址进行转换,因为无论我在哪里寻找,偏移总是返回相同的数字.

谢谢

@leeduhem:是的,我有.以下是相关部分:3.打开/ proc/pid/pagemap并查找要检查的页面.4.从pagemap读取每个页面的u64.

这对我没有帮助.它希望我寻找页面,但我怎么知道页面的条目在哪里?

linux process proc

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

读取proc stat信息

您好,我需要有关具有某些 PID 的进程的以下信息:

名称、ppid、状态、#ofOpenFiles、#ofThreads

我知道 /proc/pid/stat 文件的示例如下:

15(看门狗/1) S 2 0 0 0 -1 69239104 0 0 0 0 0 69 0 0 -100 0 1 0 6 0 0 18446744073709551615 0 0 0 0 0 0 0 2147483647 0 1844674407370 9551615 0 0 17 1 99 1 0 0 0 0 0 0 0 0 0 0 0

我当前尝试解析此类文件:

FILE *fp;
           char buff[255];
           fp= fopen("/proc/123/stat", "r");
           if(fp == NULL){

           }else{

             fscanf(fp, "%d %s %c %d %d %d %d %d …
Run Code Online (Sandbox Code Playgroud)

c unix pid stat proc

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

Linux - 查找进程是否已准备就绪或正在运行

我正在开发一个具有进程监视功能的C++应用程序,它根据这个模型监视状态变化:http://www.macdesign.net/capella/it4813/images/stallings-Linux_process-thread_states-f4.18.png

但是,由于/ proc/pid/status将"就绪"和"执行"状态组合成"运行"状态,我不知道如何找出进程实际处于哪些状态.任何人都可以提供有关我如何发现这一点的任何建议?

c++ linux process file-descriptor proc

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

用于更新 Sharepoint 列表的 SAS PROC SOAP

我正在尝试通过 PROC SOAP 使用 SAS (9.3) 更新 Sharepoint (2007) 列表(SAS 位于 Unix GRID 上)。共享点站点启用了基本身份验证(因为 PROC SOAP 无法通过 NTLM 进行身份验证)。

我可以使用 XML Libname 引擎成功从 Sharepoint 列表中提取数据,但无法通过 PROC SOAP XML 数据发出回 Sharepoint 列表 Web 服务。具体来说,我尝试通过以下方式添加和更新共享点列表中的项目http://[intranet_site]/sites/IT/_vti_bin/Lists.asmx


SAS 日志输出:

18399  %let RESPONSE=RESPONSE;
18400  proc soap in=REQUEST
18401            out=&RESPONSE
18402            url="http://[intranet_site]/sites/IT/_vti_bin/Lists.asmx"
18403      webusername="[username]"
18404      webpassword="[password]"
18405      webdomain="[domain]"
18406      SOAPACTION="http://schemas.microsoft.com/sharepoint/soap/UpdateListItems"
18407            ;
18408  run;

ERROR: org.springframework.ws.client.WebServiceTransportException: Unauthorized [401]
Run Code Online (Sandbox Code Playgroud)

我已经通过 SOAPUI 确认传递到 Lists.asmx Web 服务的 XML 是有效的(当通过 SOAPUI 手动执行时,我实际上可以按照 Sharepoint 中的预期创建和更新列表项。

正如错误明确指出的那样,由于某种原因,输入 PROC SOAP 的用户身份验证并未进入 Sharepoint(我在 …

xml sharepoint soap sas proc

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

保留时间值的动态PL/SQL日期参数

这可能是一个愚蠢的问题,但我找不到一个在动态调用的PL/SQL过程中传递"DATE"类型的解决方案.我需要的是在被调用的proc中传递日期和时间部分:

create or replace 
PROCEDURE DATE_TIME_TEST (  dte_Date_IN  IN DATE ) 
IS
    vch_SQL_Stmnt VARCHAR2(2000);
BEGIN
    DBMS_OUTPUT.PUT_LINE('Date is :'||TO_CHAR(dte_Date_IN, 'DD-Mon-YYYY HH24:MI:SS'));

END;
/

declare
    v_sql varchar2(2000);
begin
    v_sql := 'begin DATE_TIME_TEST( dte_Date_IN => '''|| 
              sysdate || ''''|| '); end;';
    execute immediate v_sql;
end; 
/
Run Code Online (Sandbox Code Playgroud)

这里的输出是 - 日期是:2013年8月27日00:00:00.

我希望它是 - 日期是:2013年8月27日13:01:09

oracle plsql dynamic proc

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

SAS 在 proc sql 与 proc sort nodupkey 中不同

我有以下数据集:

data work.dataset;
input a b c;
datalines;
27 93 71 
27 93 72
46 68 75
55 55 33
46 68 68
34 34 32
45 67 88
56 75 22
34 34 32
;
run;
Run Code Online (Sandbox Code Playgroud)

我想从前两列中选择所有不同的记录,所以我写道:

proc sql;
create table work.output1 as
select distinct t1.a,
t1.b
from work.dataset t1;
quit;
Run Code Online (Sandbox Code Playgroud)

但现在我想知道 var c 的值在输出中看到的组合 (var a, var b) 旁边的前一组中代表什么。有办法找出来吗?我尝试按照 proc sort 进行排序,但我不知道它的工作方式是否与在 proc sql 中选择不同记录相同。

proc sort data = work.dataset out = work.output2 NODUPKEY;
by a b;
run; …
Run Code Online (Sandbox Code Playgroud)

sql sorting sas distinct proc

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

无法在 TCL 中调用 proc 命令名称无效

我可能在这里遗漏了一些明显的东西,但也许你可以帮助我。

我有一个 tcl 脚本。其全文如下:

puts [encodeSDR 25]

proc encodeSDR {input} {
  set sdr "test"

  return $sdr
}
Run Code Online (Sandbox Code Playgroud)

当我运行此脚本时,出现错误:

c:\temp>tclsh testenviro.tcl
invalid command name "encodeSDR"
  while executing 
"encodeSDR"
  invoke from within
"puts [encodeSDR 25]"
  (file "testenviro.tcl" line 1)
Run Code Online (Sandbox Code Playgroud)

我缺少什么?看起来这应该可以完美地工作。

附言。找到可能的原因:

当我将 put 调用放在它起作用的 proc 下面时,它不会首先加载整个脚本吗?如果是这样的话似乎很奇怪,但也许就是这样。

tcl proc

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

如何在`&`-`和`往返下保留proc对象?

当我将一个数组*传递给一个方法,然后*在该方法中重建一个数组时,不保留数组的标识:

a = []
a.object_id # => 69846339548760
def bar *a; a.object_id end
bar(*a) # => 69846339537540
Run Code Online (Sandbox Code Playgroud)

但是,当我将proc转换为块&时将其传递给方法,然后&在方法中从块重构proc,则proc 的标识似乎会被保留:

pr = ->{}
pr.object_id # => 69846339666160
def foo &pr; pr.object_id end
foo(&pr) # => 69846339666160
Run Code Online (Sandbox Code Playgroud)

proc对象是如何保留的?它转换成块时不会丢失吗?这是一种保证行为吗?

ruby proc

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

proc sql join 在最接近日期的 SAS 中

如何在 SAS 中使用 proc sql 在两个数据集之间进行一对多连接以获得数据集 B 中最接近数据集 A 中的值的记录?

数据集 A

#Patient     #Date of Dose
001                 2020-02-01
Run Code Online (Sandbox Code Playgroud)

数据集 B

# Patient        # Lab Test         #Date of Test     # Value 
001            Test 1           2020-01-17      6
001            Test 1           2020-01-29      10
Run Code Online (Sandbox Code Playgroud)

我想进行连接以选择数据集 B 中的第二条记录,该记录的“测试日期”与第一个数据集中的“给药日期”最接近(小于或等于)。

sql join date sas proc

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

标签 统计

proc ×10

sas ×3

linux ×2

process ×2

ruby ×2

sql ×2

c ×1

c++ ×1

date ×1

distinct ×1

dynamic ×1

file-descriptor ×1

join ×1

lambda ×1

oracle ×1

pid ×1

plsql ×1

sharepoint ×1

soap ×1

sorting ×1

stat ×1

tcl ×1

unix ×1

xml ×1