DEV Community


Posted on


Using colon to specify that a method is a keyword argument

The colon (:) is used to specify that a method or function parameter is a keyword argument. Keyword arguments allow you to pass arguments to a method or function using the argument name, rather than just the position of the argument.

For example, consider the following method definition:
def greet(name:, age:)
puts "Hello, #{name}. You are #{age} years old."

This method has two keyword arguments: name and age. When you call this method, you can use the argument names to specify the values for each argument:
greet(name: "John", age: 30) -> Output: "Hello, John. You are 30 years old."

If you omit the colons when defining the method, Ruby will treat the arguments as regular, non-keyword arguments. This means that you will need to pass the arguments in the correct order, based on their position. For example:
def greet(name, age)
puts "Hello, #{name}. You are #{age} years old."

greet("John", 30) -> Output: "Hello, John. You are 30 years old."

In this case, you can see that the name and age arguments are treated as regular, non-keyword arguments. You have to pass the arguments in the correct order (name first, age second) when calling the method.

Using keyword arguments can make your code easier to read and maintain, because it is clear which argument goes with which parameter. However, they are not always necessary, and you can choose to use regular, non-keyword arguments if you prefer.

Top comments (2)

webjose profile image
José Pablo Ramírez Vargas


  1. Mention the programming language this is about.
  2. Use code blocks, or in general, learn Markdown.
  3. Use a more descriptive title, ideally more than one word.
  4. Add hashtags to your post.

Good luck!

citronbrick profile image

Hi, to enable syntax highlighting in code blocks in you can use,
(triple backtick) (name of language)

50 CLI Tools You Can't Live Without

>> Check out this classic DEV post <<