Issue #4824 has been updated by Lazaridis Ilias.


Clifford Heath wrote:
[...] - omitting, to focus on essence

>  > And at this point, the "dispute" is about the method name.
>  
>  No, it isn't. It's about how to make Ruby easier to read.

The status of this issue (#4823) is "agreed providing a method" (= provide an OO construct) and more actual "We need a better name." (Source: See the first comment). 

So, it's about to make the language easier to read, in context of an OO construct.

I've added some elaborations, subjecting the (OO method) name. Ideally, it would be one word, but it's possible to use something like this:

 if this_file_is_equal_with_the_program_name?

Although I dislike a two-word choice, the most logical seems to be this one:

if is_executed?      # refers to the actual main object. the user has *anyway* to learn: there is a "self" behind, an object behind

if self.is_executed? # can be written with "self", to make it more clear

main() if self.is_program?

main() if is_program?

So, the point is, to find a concise method name (ideally one word) which reads nice and fits in the overall existent naming scheme of the language.

(note that I "back-off" from this issue for now)


----------------------------------------
Feature #4824: Provide method Kernel#executed?
http://redmine.ruby-lang.org/issues/4824

Author: Lazaridis Ilias
Status: Open
Priority: Normal
Assignee: 
Category: core
Target version: 


The current construct to execute main code looks not very elegant:

if __FILE__ == $0
  my_main()          # call any method or execute any code
end

With a Kernel#executed? method, this would become more elegant:

if executed?
  #do this
  #do that
  my_main()
end

or

main() if executed?

This addition would not break any existent behaviour.



-- 
http://redmine.ruby-lang.org