はじめに
プログラミング全般において、.
がさまざまな形で使われています。
今回は、クイズ形式の記事です。.
の知らない使い方があるかも?
全11問、お楽しみいただければ幸いです。
クイズ
1
以下の使われ方をするとき、.
は何を表す?
ls -a .
cd ./dir
cp -r . /path/to
答え
「カレントディレクトリ」
「現在のディレクトリ」を指します。
2
以下の使われ方をするとき、..
は何を表す?
cd ..
ls ..
cat ../file
答え
「親ディレクトリ」
一つ上の階層(ディレクトリ)を指します。
3
以下の使われ方をするとき、.
は何を表す?
example.txt
example.json
答え
「拡張子」
ファイルの種類を示します。
4
以下の使われ方をするとき、.
は何を表す?
.zshrc
.env
答え
「隠しファイル」
通常、ユーザーに表示されないファイルです。
簡単に変更するべきでない、重要なファイルであることが多いです。
5
以下の使われ方をするとき、.
は何を表す?
/(.*)example/
/https?:\/\/(.*)/
答え
「任意の1文字」
.
は、正規表現において「任意の1文字」を表す特殊記号です。
6
以下の使われ方をするとき、.
は何を表す?
www.example.com
答え
「異なるレベルのドメインの区切り」
追記:偶然発見した記事
内容の正確な理解ができているわけではないのですが、ご興味ある方はどうぞ。
https://gigazine.net/news/20240429-trailing-dot-in-domain-names/
7
以下の使われ方をするとき、.
は何を表す?
console.log()
array.reverse().map(e => e * 2).join('')
p person.name
5.times do |e|
p e * 2
end
答え
「プロパティアクセサ・メソッドチェーン」
「プロパティアクセサ」はオブジェクトへのアクセスを提供するもの
「メソッドチェーン」はメソッドを連ねて、次々にデータを受け渡して処理することです。
8
以下の使われ方をするとき、..
は何を表す?
case num
when 0..4
0
else
10
end
答え
「範囲オブジェクト」
Ruby等における用法です。..
は「範囲オブジェクト」を表します。
なお、...
もあります。違いは、「終端を含むかどうか」です。
9
以下の使われ方をするとき、...
は何を表す?
const array2 = [...array, 1, 2, 3]
console.log(sum(...array2))
答え
「スプレッド構文」
JSにおいて...
は「スプレッド構文」を表します。
配列などの要素の展開に便利です。
10
以下の使われ方をするとき、.
は何を表す?
.container {
color: red;
}
div.container
h1.title-text
答え
「クラス名」
CSSにおける用法です。HTMLタグを装飾する時に使います。
上の例はcssとslimです。slimを使用することで、htmlをよりシンプルに書くことができます。
11
以下の使われ方をするとき、.
は何を表す?
checkForFactor :: Int -> Int -> Bool
checkForFactor = (.) (== 0) . mod
答え
「関数合成」
Haskellにおける用法です。超マイナーなので覚えなくていいです。
Haskellを学ぶこと自体は、新しい感覚が身につくのでオススメです。
おわりに
以上、.
の様々な使用法でした。
これだけの違いがあることに驚きですし、文脈でどれがどれかわかるエンジニア自体も結構すごいのでは・・・?
この他.
の用法、クイズの解説については
ぜひコメントいただけると嬉しいです。
さて、次は何を書こうかしら・・・
追記
versionの.
もあるよねと教えていただきました。確かに。