仮引数につけた $ % # [] はコメントみたいなもので、実行上は無意味なのよね。何を書いても実引数の型になってしまう。 def f s$[] ? sqr(s$) end f 16 とかね。 % と # は読者をミスリードするから、むしろ付けない方がよい。