标签: string-interpolation

PHP $ _Server无法正常工作

我有以下几行:

<div class='social'>http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]</div>
Run Code Online (Sandbox Code Playgroud)

这一切都很棒,它显示了当前的链接,比方说:http://www.example.com/mypage.php

现在我想将它与变量相关联

$myURL = 'http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]'
Run Code Online (Sandbox Code Playgroud)

当我回应这个时,我得到"http:// $ _ SERVER [HTTP_HOST] $ _SERVER [REQUEST_URI]" - 换句话说就是代码本身.我究竟做错了什么?

我也尝试过:$ myURL ='{http:// $ _ SERVER [HTTP_HOST] $ _SERVER [REQUEST_URI]}'

我也试过直接回复它:

echo 'http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]';
Run Code Online (Sandbox Code Playgroud)

我在俯瞰什么?谢谢!

php string variables string-interpolation

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

字符串插值和占位符变量

为什么在REPL中这个表达式失败:

List("a", "b").foreach { System.out.println(s"Valor=$_") }
Run Code Online (Sandbox Code Playgroud)

有这个错误:

<console>:1: error: unclosed string literal
Run Code Online (Sandbox Code Playgroud)

而另一个成功:

List("a", "b").foreach { x => System.out.println(s"Valor=$x") }
Run Code Online (Sandbox Code Playgroud)

我怀疑不支持"_"变量.

这是一个bug还是设计?

scala string-interpolation

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

使用类的名称进行字符串插值是什么意思?

以下代码是rubykoans about_classes.rb的摘录:

class Dog7
  def initialize(initial_name)
    @name = initial_name
  end
  def to_s
    @name
  end
end
Run Code Online (Sandbox Code Playgroud)

我创建了一个实例Dog7:

fido = Dog7.new("Fido")
Run Code Online (Sandbox Code Playgroud)

我理解以下内容:

"My dog is " + fido.to_s # => "My dog is Fido"
"My dog is #{fido.to_s}" # => "My dog is Fido"
Run Code Online (Sandbox Code Playgroud)

我不明白为什么以下插值有意义并给出相同的结果:

"My dog is #{fido}" # => "My dog is Fido"
Run Code Online (Sandbox Code Playgroud)

fido 不是一个字符串.

ruby string-interpolation

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

重用插值字符串

有谁知道如何重用插值的字符串?

即谁能string.Format在下面的代码块中弄清楚如何删除?

foreach(var s in new[]{ "Primary_{0}_Home", "Secondary_{0}_Work" }){
    sql = $"SELECT {string.format(s, "Street")}, {string.format(s, "City")} ..."
}
Run Code Online (Sandbox Code Playgroud)

c# string-interpolation c#-6.0

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

拆分长插值字符串

一个例子:

var a = $"Some value 1: {b1:0.00}\nSome value 2: {b2}\nSome value 3: {b3:0.00000}\nSome value 4: {b4:0.00}\nSome value 5: {b6:0.0}\nSome value 7: {b7:0.000000000}";
Run Code Online (Sandbox Code Playgroud)

这有点难以阅读.

我能做到

var a = $"Some value 1: {b1:0.00}\n" +
        $"Some value 2: {b2}\n" +
        $"Some value 3: {b3:0.00000}\n" +
        $"Some value 4: {b4:0.00}\n" +
        $"Some value 5: {b6:0.0}\n" +
        $"Some value 7: {b7:0.000000000}";
Run Code Online (Sandbox Code Playgroud)

但是这里有一条评论说什么这将是多次调用string.Format,我认为它会(不知道如何检查它,IL对我来说是一个黑盒子).

问题:可以吗?拆分长插值字符串有哪些其他选项?

c# code-formatting string-interpolation c#-6.0

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

Ruby String插值在1.9.3中引发语法错误,但不是2.3.1

很抱歉提前购买大量代码.我担心我可能错过了一些在上下文中显而易见的东西.

  def remove_runbook_items(runbook_id, runbook_item_id)
    item_id = runbook_item_id.to_s
    method = 'POST'
    url = @the_endpoint
    data = {
        invokeDetail: {
            process: 'remove_runbook_items',
            parameters: {
                runbook_id: runbook_id,
                runbook_items: {
                    "#{item_id}": {
                        cores: options[:cores],
                        ram: options[:ram],
                        rank: options[:rank],
                        wait_time: options[:wait_time]
                    }
                }
            }
        }
    }
    data.merge! @common_data
    result = send_request(method, url, data.to_json)
    result['resultDetail'] # Returns contents of response from REST API server
  end
Run Code Online (Sandbox Code Playgroud)

有问题的行是"#{item_id}":{

称为"data"的文本块被转换为json,因此我必须插入字符串"item_id",否则它将在结果请求中吐出"item_id",而不是item_id的内容.实际上,如果有办法在没有插值的情况下获取内容,我很想知道它.

所以当我以这种方式插入我的字符串时,它在Ruby 2.3.1上运行得很好.但是,当我尝试在使用Ruby 1.9.3的机器上运行相同的代码时,我在任何地方插入一个字符串都会得到一连串的语法错误:

/home/mydir/mydir/mydir/mydir/mydir/restapi_helper.rb:1122: syntax error, unexpected ':', expecting tASSOC
                    "#{device_id}": {
                                   ^
/home/mydir/mydir/mydir/mydir/mydir/restapi_helper.rb:1128: syntax error, …

ruby string-interpolation

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

C#字符串插值传递值

我在类中有这个只读字符串:

public static class XssProtectionConstants {
    /// <summary>
    /// {0} specifies the report url, including protocol
    /// </summary>
    public static readonly string Report = "1; report={0}";
}
Run Code Online (Sandbox Code Playgroud)

我想访问它并传入一个值,使它现在等于 "1; report=www.reportMyErrors.com"

这是为了这个单元测试断言:

Assert.AreEqual(_policyValue, XssProtectionConstants.Report );
Run Code Online (Sandbox Code Playgroud)

这个抛出:

Expected:<1; report=www.reportMyErrors.com>. Actual:<1; report={0}>. www.reportMyErrors.com
Run Code Online (Sandbox Code Playgroud)

如何更新我的断言以使其平等"1; report=www.reportMyErrors.com>"

c# string-interpolation

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

perl:字符串插值中的增量变量

是否可以++在字符串插值中使用运算符?我尝试过以下方法:

my $i = 0;
foreach my $line (@lines) {
    print "${i++}. $line\n";
}
Run Code Online (Sandbox Code Playgroud)

但我明白了 Compile error: Can't modify constant item in postincrement (++)

perl increment string-interpolation

0
推荐指数
2
解决办法
843
查看次数

嵌套字符串插值

我遇到了C#6中嵌套字符串插值的问题.

例如,有一个字符串:

string test = "StartText MiddleText1 MiddleText2 EndText";
Run Code Online (Sandbox Code Playgroud)

如果我只想为MiddleText1 应用ToUpper()方法,我可以这样做:

string test = $@"StartText {"MiddleText1".ToUpper()} MiddleText2 EndText";
Run Code Online (Sandbox Code Playgroud)

但是,如果我想应用一个字符串方法,例如对这部分字符串的Replace(),该怎么办:

{"Middletext1".ToUpper()} MiddleText2
Run Code Online (Sandbox Code Playgroud)

我希望这样的东西能起作用:

string test = $@"StartText {"{"MiddleText1".ToUpper()} MiddleText2".Replace("x", "y")} EndText";
Run Code Online (Sandbox Code Playgroud)

但是这种语法是错误的 - 我尝试了很多变化,使用配额但我无法为此目的获得正确的语法.我希望不要将字符串分成不同的部分.有没有办法只使用插值功能来解决它​​?

c# string string-interpolation

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

使用Angular将变量插值到类中

我想为我的元素动态生成一个类名。例如, <span class=``icon icon-${route.title}``></span>((这里必须使用双反引号,但实际上应该只是一组反引号。)

    <ul class="sidebar-list">
      <li *ngFor="let route of menuRoutes.items">
        <span class=`icon icon-${route.title}`></span>
        <a routerLink="/{{route.path}}" routerLinkActive="active">{{ 'menu.' + route.title | translate}}</a> 
      </li>
    </ul>
Run Code Online (Sandbox Code Playgroud)

css string-interpolation angular

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