小编Den*_*s G的帖子

具有动态函数名称的Invoke-Command

我找到了这个很棒的帖子:在带参数的函数上使用Invoke-Command -ScriptBlock

我正在尝试使函数call(${function:Foo})动态,因为我想传递函数名称.

我试过这个:

$name = "Foo"
Invoke-Command -ScriptBlock ${function:$name}
Run Code Online (Sandbox Code Playgroud)

但那失败了.我也尝试了各种转义序列,但是不能让函数名称变为动态.


编辑:为了清楚起见,我添加了一个小测试脚本.当然,期望的结果是打电话给ExternalFunction.

Function ExternalFunction()
{
  write-host "I was called externally"
}

Function InternalFunction()
{
    Param ([parameter(Mandatory=$true)][string]$FunctionName)
    #working: Invoke-Command -ScriptBlock ${function:ExternalFunction}
    #not working: Invoke-Command -ScriptBlock ${invoke-expression $FunctionName}
    if (Test-Path Function:\$FunctionName) {
    #working,but how to use it in ScriptBlock?
    }
}

InternalFunction -FunctionName "ExternalFunction"
Run Code Online (Sandbox Code Playgroud)

powershell powershell-remoting

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

正则表达式在Notepad ++中将字符串的开头移动到结尾

我有一个像这样的文本文件:

marc_webber
john_grisham
rahmin_darfur
firstname_lastname
Run Code Online (Sandbox Code Playgroud)

我希望输出像这样(忘记像"van These"这样的双重名称):

Webber, Marc, marc_webber
Grisham, John, john_grisham
Darfur, Rahmin, rahmin_darfur
LastName, FirstName, firstname_lastname
Run Code Online (Sandbox Code Playgroud)

所以我想在_处分割字符串,将姓氏移到开头,逗号分隔名字和连接名称到结尾(甚至可以大写第一个字母).使用编程语言这很容易,但我想知道是否可以使用Notepad ++的查找和替换功能与正则表达式.
基本上我需要为名字和姓氏创建变量,并在最后将它们再次串在一起.

regex replace notepad++

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

apache commons lang StrTokenizer

因为我需要空标记来读取空字符串或null,我决定使用apache commons lang StrTokenizer 但是我仍然无法获得空字符串.我知道我需要setEmptyTokenAsNull在标记之前设置方法.但是我该怎么做呢?请帮忙.

tok = new StrTokenizer(line,","); 
tok.setEmptyTokenAsNull(true);
Run Code Online (Sandbox Code Playgroud)

string tokenize apache-commons

2
推荐指数
1
解决办法
1122
查看次数

jQuery链接和级联然后是什么时候

我目前在我面前有一个非常棒的if-then-else循环,它首先从web服务获得多个cantinas.然后它会获得所有可用餐点(每个菜单)和所有可用的配菜(每个菜单).对于每一餐和两餐,然后检查所有添加剂并聚集它们.

最后,我有多种菜单,包括餐点,配菜和所有添加剂.

以下流程图显示了该过程:
在此输入图像描述

我想美化代码,并希望使用jQuery的promises - 但我无法弄清楚如何做到这一点,因为我必须在a then之后堆叠when(至少我认为,也许我必须resolve?).以下是我最好的尝试:

//this totally does not work at all, but you get the idea what I want to do
Menus.getCantinas()
       .when(Menus.getMeals(cantinas), Menus.getSides(cantinas)) //when doesn't exist here, neither does cantinas
         .then(Menus.getAdditives(meals, sides) //also throws errors as meals and sides does not exist
           .done(function(cantinas, meals, sides, additives) { //more errors for the people
             Menus.cantinas = cantinas;
             Menus.meals = meals;
             Menus.sides = sides;
             Menus.additives = additives;

             //... some html stuff to build …
Run Code Online (Sandbox Code Playgroud)

javascript jquery chaining promise jquery-deferred

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

用于以后在c#中解析的XML格式

我正在使用XML来保存一些设置,所以让我们使用以下示例:

<PermissionLevels>
    <Permission Name="MyPermission 1" Bases="XXX" />
    <Permission Name="MyPermission 2" Bases="XXX" />
</PermissionLevels>
Run Code Online (Sandbox Code Playgroud)

所以XXX是我的问题.我将拥有几个基本权限,例如"读取,创建,删除",我知道C#有.Split 方法,所以我可以尝试用","作为分隔符.我也可以有子节点<Permission>.

有没有正确的方法呢?正确的我的意思是:我不确定我是否应该使用LINQ(XDocument)或常规System.Xml变量(XmlDocument),我不确定是否有更好的处理方式.
随着.Split我将不得不采取的node.Attributes["Base"].Value,把它分解,并做了foreach所有元素的数组中-也许LINQ是更聪明,可以做不同的东西吗?

对不起我的漫无边际,这不是我的域名.问题实际上是:当我为一个属性设置多个值时,是否将它们与例如","连接起来,或者我是否以不同方式进行连接(例如,使用对象的子节点)?

c# xml split linq-to-xml

0
推荐指数
1
解决办法
71
查看次数

直接访问perl中的嵌套JSON数据?

我不熟悉Perl的哈希/引用语法,它让我的眼睛受伤了.
我有以下JSON:

{
  "Arg":"Custom_Light state alias protocol",
  "Results": [
  {
    "Name":"Custom_Light",
    "Internals": { },
    "Readings": {
      "protocol": { "Value":"V3", "Time":"2017-01-14 18:49:18" },
      "state": { "Value":"off", "Time":"2017-03-05 10:39:50" }
    },
    "Attributes": {      "alias": "Kitchen light" }
  }  ],
  "totalResultsReturned":1
}
Run Code Online (Sandbox Code Playgroud)

如何直接获取Reading> Protocol Value和Reading> state Value以及Attributes> Alias?

我使用默认JSON编码器/解码器,它的工作非常出色.使用Dumper($json)我获取所有JSON,但我不知道如何直接访问它而不使用foreach与数组中的所有数组.

我尝试过以下方法:

my $json = from_json( $readout, { utf8  => 1 } );
print "No. Entries:", scalar(keys($json)); #works, returns 3
my @results = %$json{Results};
Dumper(@results[1]); #I get the Results array
Run Code Online (Sandbox Code Playgroud)

从这里开始它已经很难看了.在那 …

arrays perl hash json

-1
推荐指数
1
解决办法
562
查看次数