Edited at

かっこよくコンソールに出力したい

プログラミングをしていて、今変数に何が入っているのか知りたいというときがあります。そんなときさくっとコンソールに出力して確認したりすると思います。

例えば、こんな感じ。

Str name = "デーモン小暮"

int age = 100053

print( name + "さんの年齢は" + age + "歳です" )

なんかこう……文字列を強引にひっつけている感じがして読みにくくてダサいですね。いろいろな言語で変数展開をするフォーマットやら書き方が用意されているのですが、いつもどう書くんだっけ? とか思いつつ、調べるのがめんどくさくて、結局 + で連結……みたいなことを繰り返してきました。

そこで、今回は各言語における変数展開とかformat系メソッドの書き方を調べてみました。さくっとコンソールに出力したいというのが目的ですので、型はとりあえずString型にキャスト、変換でいいということにします。

Java

String name = "デーモン小暮";

int age = 100053;
System.out.println(String.format("%sさんの年齢は%s歳です。", name, age));
// または(最後に改行して)
System.out.printf("%sさんの年齢は%s歳です。%n", name, age);

thx: @saka1029さん

C#

string name = "デーモン小暮";

int age = 100053;
Console.WriteLine($"{name}さんの年齢は{age}歳です。");

Python

name = 'デーモン小暮'

age = 100053
print('{}さんの年齢は{}歳です。'.format(name,age))
# または
print('%sさんの年齢は%s歳です' % (name,age))
# または
print(f'{name}さんの年齢は{age}歳です。')

thx: @QUANONさん

Ruby

name = "デーモン小暮"

age = 100053
puts "#{name}さんの年齢は#{age}歳です。"
# または
puts "%sさんの年齢は%s歳です。" % [name, age]

thx: @scivolaさん

JavaScript

var _name = "デーモン小暮";

var age = 1000053;

console.log(`${_name}さんの年齢は${age}歳です。`);
// または
console.log("%sさんの年齢は%s歳です。", _name, age)

thx: @hogefugaさん

PHP

$name = "デーモン小暮";

$age = 1000053;

echo "{$name}さんの年齢は{$age}歳です。"

Rust

let name = "デーモン小暮";

let age = 100053;
println!("{}さんの年齢は{}歳です。", name, age);

thx: @scivolaさん

Kotlin

val name = "デーモン小暮"

val age = 100053
println("${name}さんの年齢は${age}歳です。")

thx: @sdkeiさん

これであなたもかっこよくコンソールに出力できますね。