标签: string-interpolation

如何在双引号字符串中使用对象的属性?

我有以下代码:

$DatabaseSettings = @();
$NewDatabaseSetting = "" | select DatabaseName, DataFile, LogFile, LiveBackupPath;
$NewDatabaseSetting.DatabaseName = "LiveEmployees_PD";
$NewDatabaseSetting.DataFile = "LiveEmployees_PD_Data";
$NewDatabaseSetting.LogFile = "LiveEmployees_PD_Log";
$NewDatabaseSetting.LiveBackupPath = '\\LiveServer\LiveEmployeesBackups';
$DatabaseSettings += $NewDatabaseSetting;
Run Code Online (Sandbox Code Playgroud)

当我尝试使用字符串执行命令中的一个属性时:

& "$SQlBackupExePath\SQLBackupC.exe" -I $InstanceName -SQL `
  "RESTORE DATABASE $DatabaseSettings[0].DatabaseName FROM DISK = '$tempPath\$LatestFullBackupFile' WITH NORECOVERY, REPLACE, MOVE '$DataFileName' TO '$DataFilegroupFolder\$DataFileName.mdf', MOVE '$LogFileName' TO '$LogFilegroupFolder\$LogFileName.ldf'"
Run Code Online (Sandbox Code Playgroud)

它试图只使用值$DatabaseSettings而不是值$DatabaseSettings[0].DatabaseName,这是无效的.
我的解决方法是将其复制到一个新变量中.

如何直接在双引号字符串中访问对象的属性?

powershell string-interpolation

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

为什么在没有花括号的情况下,字符串插值在Ruby中工作?

在Ruby中使用字符串插值的正确方法如下:

name = "Ned Stark"
puts "Hello there, #{name}" #=> "Hello there, Ned Stark"
Run Code Online (Sandbox Code Playgroud)

这就是我打算一直使用它的方式.

但是,我注意到Ruby的字符串插值有些奇怪.我注意到字符串插值在Ruby中没有关于实例变量的花括号.例如:

@name = "Ned Stark"
puts "Hello there, #@name" #=> "Hello there, Ned Stark"
Run Code Online (Sandbox Code Playgroud)

尝试与非实例变量相同的东西不起作用.

name = "Ned Stark"
puts "Hello, there, #name" #=> "Hello there, #name"
Run Code Online (Sandbox Code Playgroud)

我在1.9.2和1.8.7中都尝试过这一点.

为什么这样做?口译员在这做什么?

ruby string-interpolation

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

如何在C#6中使用带字符串插值的转义字符?

我一直在使用字符串插值并喜欢它,但我有一个问题,我试图在我的输出中包含反斜杠,但我无法让它工作.

我想要的是这样的......

var domain = "mydomain";
var userName = "myUserName";
var combo = $"{domain}\{userName}"
Run Code Online (Sandbox Code Playgroud)

我想要组合的输出

myDomain\myUserName
Run Code Online (Sandbox Code Playgroud)

我得到的是关于\作为转义字符的语法错误.如果我输入\\那么snytax错误消失了,但输出是myDomain \\ myUsername

如何在插值字符串中包含转义字符?

.net c# string-interpolation

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

如何解决"字符串插值产生可选值的调试描述;你的意思是明确这个吗?" 在Xcode 8.3 beta?

从beta 8.3开始,zillions警告"字符串插值会为可选值生成调试描述;你的意思是明确说明吗?" 出现在我的代码中.

例如,警告在以下情况下弹出,其中选项可能导致nil:

let msg = "*** Error \(options["taskDescription"]): cannot load \(sUrl) \(error)"
Run Code Online (Sandbox Code Playgroud)

如前所述,我(和编译器)可以将选项插值为'nil'.但是编译器改变了主意.

编译器建议添加一个带有描述的String构造函数,如下所示:

let msg = "*** Error \(String(describing: options["taskDescription"])): cannot load \(sUrl) \(error)"
Run Code Online (Sandbox Code Playgroud)

显然,结果是明确的,但在我看来也非常麻烦.有更好的选择吗?我是否必须修复所有警告或更好等待下一个测试版?

截图用于描述

optional string-interpolation swift swift3

76
推荐指数
7
解决办法
3万
查看次数

将YAML与变量一起使用

YAML文件中的变量是否可能?例如:

theme:
  name: default
  css_path: compiled/themes/$theme.name
  layout_path: themes/$theme.name
Run Code Online (Sandbox Code Playgroud)

在这个例子中,如何theme: name: default在其他设置中使用?语法是什么?

ruby variables yaml ruby-on-rails string-interpolation

75
推荐指数
3
解决办法
10万
查看次数

Ruby中的字符串连接与插值

我刚开始学习Ruby(第一次编程),并且有一个关于变量的基本语法问题,以及编写代码的各种方法.

克里斯派恩的"学会编程"教会我写一个像这样的基本程序......

num_cars_again= 2
puts 'I own ' + num_cars_again.to_s + ' cars.'
Run Code Online (Sandbox Code Playgroud)

这很好,但后来我偶然发现了ruby.learncodethehardway.com上的教程,并被教导写出像这样的精确程序......

num_cars= 2
puts "I own #{num_cars} cars."
Run Code Online (Sandbox Code Playgroud)

它们都输出相同的东西,但显然选项2是一个更短的方法.

是否有任何特殊原因我应该使用一种格式而不是另一种格式?

ruby string-concatenation string-interpolation

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

Swift 3错误的字符串插值与隐式解包的Optionals

为什么在Swift 3中使用字符串插值时,隐式解包的选项不会被解包?

示例:在操场中运行以下代码

var str: String!
str = "Hello"

print("The following should not be printed as an optional: \(str)")
Run Code Online (Sandbox Code Playgroud)

产生这个输出:

The following should not be printed as an optional: Optional("Hello")
Run Code Online (Sandbox Code Playgroud)

当然我可以用+运算符连接字符串,但我在我的应用程序中几乎无处不在使用字符串插值,现在因为这个而无法工作(bug?).

这甚至是一个bug还是他们故意用Swift 3改变这种行为?

string string-interpolation swift swift3

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

如何在打字稿中进行字符串插值?

C#使用字符串插值

int value = 100;
Console.WriteLine($"The size is {value}.");
Run Code Online (Sandbox Code Playgroud)

输出:

int value = 100;
Console.WriteLine($"The size is {value}.");
Run Code Online (Sandbox Code Playgroud)

如何在打字稿中制作相同的方法?

javascript string-interpolation typescript

67
推荐指数
3
解决办法
5万
查看次数

C#6如何使用插值字符串格式化双?

我使用了C#6的一些新功能.用于简单用法的插值字符串(显示包含字符串变量的消息,如$"{EmployeeName},{Department}").

现在我想使用插值字符串来显示格式化的double值.

var aNumberAsString = aDoubleValue.ToString("0.####");
Run Code Online (Sandbox Code Playgroud)

如何将其写为插值字符串?像$"{aDoubleValue} ...."

c# double string-interpolation c#-6.0

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

PHP变量插值vs连接

以下两种方法(性能,可读性等)之间的区别是什么?您更喜欢什么?

echo "Welcome {$name}s!"
Run Code Online (Sandbox Code Playgroud)

echo "Welcome " . $name . "!";
Run Code Online (Sandbox Code Playgroud)

php string variables concatenation string-interpolation

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